我有ArrayList中,需要转换成JSON数组服务器发布转换数组列表对象jsonarray
JSON格式应该是这样的:
{
p:1,
s:["a":1,"b":2],["a":2,"b":3],["a":3,"b":4]
}
让说我有:
List<MyObject> objectList = new ArrayList<MyObject>();
MyObject myObject = new MyObject();
myObject .setA(1);
myObject .setB(2);
myObject .setA(2);
myObject .setB(3);
myObject .setA(3);
myObject .setB(4);
objectList.add(myObject);
我当前的代码是:
for (int i = 0; i < objectList.size(); i++) {
JSONArray ar = new JSONArray();
ar.put("a:"+objectList.get(i).getA());
ar.put("b:"+objectList.get(i).getB());
jOuter.put("s",ar);
}
但这并不工作,目前的回报是:
{"p":1,"s":["a:20","b:10.0"]}
感谢。
这JSON告诉你是远离有效。键必须是字符串,值可以是列表'[]',但列表不能包含键值对,那些在对象'{}' –
@Cris你可以看看Gson库.. –
你正在把'JSONArray'一个'字符串',而你应该把'JSONObject' – user902383