0

オブジェクトを JSON String に変換する必要があります。

私はクラス(ObjectA)を持っています

public class ObjectA {
    private int information;
    private List<ObjectB> objB;
}

そして、このクラス(JSON)は私の問題を解決しようとします

    public class JSon extends Activity {

    private ObjectA objA;

    public JSon() { }

    Public String toJSON(Object pObject) {
            this.objA = pObject;
            String temp = "";

            JSONObject jsonObject= new JSONObject();
            try {
                jsonObject.put("information", objA.getInfo());
                for (int i=0; i<objA.getobjB().size(); i++) {
                   temp = this.objBToJSON(i);
                   jsonObject.put("objB", temp);
                }

                return jsonObject.toString();
            } catch (JSONException e) {
            e.printStackTrace();
            return "";
       }

       private String objBToJSON(int i) {
           JSONObject jsonObject= new JSONObject();
           try {
              jsonObject.put("info1", objAI.getobjB().get(i).getInfo1());
              jsonObject.put("info2", objAI.getobjB().get(i).getInfo2());

              return jsonObject.toString();
           } catch (JSONException e) {
           e.printStackTrace();
           return "";
        }
   }

     public ObjectA toOkjectA(String pString) {

       ObjectA objA = new Gson().fromJson(pString, ObjectA.class);
       return objA;
}

}

toJSON メソッド (別のクラスで呼び出される String temp = new JSON().toJSON(objA) ) は、Obj を正しく保存しません。 .class)) エラーが発生しました (BEGIN_ARRAY が予想されます)。それで、どうすれば解決できますか?

4

2 に答える 2

0

あなたの人生を楽にし、事前定義されたライブラリを使用してこれを処理してください。ジャクソンをお勧めします。 http://jackson.codehaus.org/1.0.0/javadoc/org/codehaus/jackson/map/ObjectMapper.html

于 2013-06-25T17:49:21.770 に答える