我必须将我的对象转换为 JSON 字符串。
我有一堂课(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,因为当我尝试读取它时 (objA = new Gson().fromJson(pStringJSON, Libretto .class)) 我有一个错误(预期 BEGIN_ARRAY)。那么,我该如何解决呢?