我有一个数组列表和一个单独的字符串.我想将它们转换为JSON格式,并期望它低于Json格式.
预期格式,
{ "last_sync_date": "2014-06-30 04:47:45","recordset": [ { "contact_group": { "guID": "y37845y8y", "name": "Family", "description": "Family members", "isDeleted": 0 } }, { "contact_group": { "guID": "gt45tergh4", "name": "Office", "description": "Office members", "isDeleted": 0 } } ]}
我用这种方式,这是错的,
public voID createGroupInServer(Activity activity, String lastSyncdateTime, ArrayList<ContactGroup> groups) throws JsONException { // create Json object to contact group JsONObject syncdateTime = new JsONObject(); syncdateTime.putopt("last_sync_date", lastSyncdateTime); JsONArray JsArray = new JsONArray("recordset"); for (int i=0; i < groups.size(); i++) { JsONObject adsJsonObject = new JsONObject("contact_group"); adsJsonObject = JsArray.getJsONObject(i); adsJsonObject.put("guID", groups.get(i).getGroupID()); adsJsonObject.put("name", groups.get(i).getGroupname()); adsJsonObject.put("isDeleted", groups.get(i).getIsDeleted());}
请帮忙.
解决方法:
你大部分都走在正确的轨道上……但是有一些错误:
public JsONObject createGroupInServer( Activity activity, String lastSyncdateTime, ArrayList<ContactGroup> groups) throws JsONException { JsONObject jResult = new JsONObject(); jResult.putopt("last_sync_date", lastSyncdateTime); JsONArray jArray = new JsONArray(); for (int i = 0; i < groups.size(); i++) { JsONObject jGroup = new JsONObject(); jGroup.put("guID", groups.get(i).getGroupID()); jGroup.put("name", groups.get(i).getGroupname()); jGroup.put("isDeleted", groups.get(i).getIsDeleted()); // etcetera JsONObject jOuter = new JsONObject(); jOuter.put("contact_group", jGroup); jArray.put(jOuter); } jResult.put("recordset", jArray); return jResult;}
但我同意其他答案,建议你使用像GSON这样的“映射”技术,而不是手工编写.特别是如果这变得更复杂.
总结以上是内存溢出为你收集整理的java – 将ArrayList转换为JSON – Android全部内容,希望文章能够帮你解决java – 将ArrayList转换为JSON – Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)