2013-03-21 12 views
7

私はコードの下にしようとしています....リストでJSON累積メソッドを使用するには?

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

しかし、私はJSON変数をチェックしていたときに、それは次のように空の値の何かが含まれている以下の

{ "MYKEY":[{}、{ }、{}、{}、{}、{}、{}、{}、{}、{}、{}、{}、{}、{}、{}、{}、{} {}、{}、{}、{}]}

、私はそれが22要素ダが含まATTRS変数をチェックしてい私は何をしていますか?ここで間違っていますか?私はListをJson Objectに変換してDatabaseに保存するだけです。 私はこの1つ上のわからない

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

答えて

2

あなたはそれがあなたの問題を解決するコード

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(); 
    } 

の下に使用することができます。

1

を使用していますが、おそらくあなたのリスト内のオブジェクトはシリアライズされています。

JSONの管理にはどのライブラリを使用しますか?

EDIT:

だから、JSON-libにそれがあります!

私は、JSON-libのFAQでこれを見つけた:

JSON-libには、私のBeanクラスから空JSONObjectsを作成し、私を助けて!

Json-libはJavaBeansの規約を使用してBeanを検査し、 JSONObjectを作成します。豆のプロパティが に準拠していない場合、結果のJSONObjectは空または空の半分になります。 プロパティごとに読み取り/書き込みメソッドのペアを指定する必要があります。

は、ここでのJavaBeansの規則について話ウィキペディアのページです:

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

ホープこれはあなたを助けます!

+0

詳細情報については、 –

+0

このリストにはJava Beanが含まれています –

+0

リスト内のオブジェクトが実際にすべてのJavaBeans規約を遵守しているJavaBeansであれば、他のことは考えられません。 JavaBeanのコードを投稿することができますか? – Padrus

関連する問題