2013-03-21 6 views
7

ich unten Code versuche ....Wie verwende ich die JSON Accumulate-Methode mit List?

public String listToJsonString(String keyName, List<StyleAttribute> attrs) { 
     JSONObject json = new JSONObject(); 
     json.accumulate(keyName, attrs); 
     return json.toString(); 
    } 

Aber wenn ich json Variable bin Überprüfung, wie es enthält leere Werte etwas unter

{ "myKey": [{}, { }, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {} {} {} {}]}

Und wenn ich bin Überprüfung attrs Variablen es 22 Element Da enthält ta.Was mache ich falsch hier? Ich konvertiere gerade meine Liste in Json-Objekt und speichere in der Datenbank. Ich bin mit

import net.sf.json.JSONArray; 
import net.sf.json.JSONException; 
import net.sf.json.JSONObject; 

Antwort

2

können Sie unter Code verwenden

public String listToJsonString(List<StyleAttribute> attrs) { 
     JSONObject jObject = new JSONObject(); 
     try { 
      JSONArray jArray = new JSONArray(); 
      for (MyClass myObject: attrs) { 
       JSONObject styleJSON = new JSONObject(); 
       styleJSON.put("name",myObject.getName()); 
       styleJSON.put("rollNumber", myObject.getRollNumber()); 

       jArray.add(styleJSON); 
      } 
      jObject.put("keyName", jArray); 
     } catch (Exception jse) { 
     } 

     return jObject.toString(); 
    } 

Es wird Ihr Problem zu beheben.

1

auf diesen einen nicht sicher, aber vielleicht sind die Objekte in der Liste sind serializable.

Welche Bibliothek verwenden Sie auch, um JSON zu verwalten?

EDIT:

So Json-lib ist es!

Ich fand dies in der json-lib FAQ:

Json-lib leer JSONObjects aus meiner Bean-Klasse schafft, mir helfen!

Json-lib verwendet die Java Beans Konvention Ihre Bohnen zu inspizieren und JSONObjects erstellen. Wenn die Eigenschaften Ihrer Beans nicht der Konvention entsprechen, ist das resultierende JSONObject leer oder halb leer. Sie müssen für jede Eigenschaft ein Lese-/Schreibmethode-Paar angeben.

Hier ist der Wikipedia-Seite über die Java Beans Konventionen sprechen:

http://en.wikipedia.org/wiki/JavaBeans#JavaBean_conventions

Hoffnung das wird Ihnen helfen!

+0

Edited Frage Abschnitt für weitere Informationen –

+0

Aber diese Liste enthalten eine Java-Bean –

+0

Wenn die Objekte in Ihrer Liste sind tatsächlich JavaBeans, die alle JavaBeans Konventionen respektiert, kann ich an nichts anderes denken. Vielleicht kannst du den Code deiner JavaBean posten? – Padrus

Verwandte Themen