2016-06-29 7 views
0

ich angezeigt werden soll, was ich habe die Eigenschaften als JSON-Array-Datei: Hier ist mein Java-Code:Eigenschaften von Anzeige-Elemente als JSON-Array-Datei

props.setProperty("Info1", "stack1"); 
props.setProperty("Info2", "stack2"); 

Was ich in Eigenschaften bekam Datei:

Info1=stack1 
Info2=stack2 

Hier ist, was

bekommen
var Obj = {} 
Obj.dataset= [{ "Info1":"stack1" },{ "Info2"="stack2"}]; 

ich habe versucht, mit Gson und JsonObject aber vergeblich. Was soll ich tun? Es ist keine doppelte Frage, weil ich die Eigenschaftenklasse verwende und die vorgeschlagenen Antworten, die ich bereits ausprobiert habe, nicht funktionierten.

+0

Versuchen Sie es mit einer Karte: https://stackoverflow.com/questions/12155800/how-to-convert-hashmap-to-json-object-in-java –

Antwort

1

Es kann mit jackson und seine ObjectMapper wie folgt geschehen:

Properties props = new Properties(); 
props.setProperty("Info1", "stack1"); 
props.setProperty("Info2", "stack2"); 

ObjectMapper mapper = new ObjectMapper(); 
StringWriter writer = new StringWriter(); 
mapper.writeValue(writer, props); 
System.out.println(writer.toString()); 

Ausgang:

{"Info2":"stack2","Info1":"stack1"} 

hier ein gutes Tutorial ist über Jackson.

2

Sie können Schleife über Eigenschaften und den Schlüssel/Wert auf ein Array Json hinzufügen wie folgt:

Properties props = new Properties(); 
props.setProperty("Info1", "stack1"); 
props.setProperty("Info2", "stack2"); 

Enumeration e = props.propertyNames(); 
JsonArray jsonArray = new JSONArray(); 

while(e.hasMoreElements()) { 
    String key = (String) e.nextElement(); 
    String value = props.getProperty(key); 

    JSONObject jsonObject = new JSONObject(); 
    jsonObject.put(key, value); 

    jsonArray.add(jsonObject); 
} 

System.out.println(jsonArray.toString()); 
1

Sie können auch verwenden, die folgenden:

Properties props=new Properties(); 
       props.setProperty("Info1", "stack1"); 
       props.setProperty("Info2", "stack2"); 
    JSONArray array =new JSONArray();  
        Map map=new HashMap();  

        Iterator iter=props.keySet().iterator(); 

        while (iter.hasNext()) { 
         String key=(String) iter.next(); 
         String value=props.getProperty(key); 
         map.put(key, value); 
        } 

        array.put(map); 
        for (int i = 0; i < array.length(); i++) { 
        JSONObject obj=(JSONObject) array.get(i); 
        System.out.println(obj.toString()); 
         }