java– 将ArrayList转换为JSON–Android

java– 将ArrayList转换为JSON–Android,第1张

概述我有一个数组列表和一个单独的字符串.我想将它们转换为JSON格式,并期望它低于json格式.预期格式,{"last_sync_date":"2014-06-3004:47:45","recordset":[{"contact_group":{"guid":"y37845y8y",&qu

我有一个数组列表和一个单独的字符串.我想将它们转换为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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存