gpt4 book ai didi

java - 将 ArrayList 转换为 JSON - Android

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:18 25 4
gpt4 key购买 nike

我有一个数组列表和一个单独的字符串。我想将它们转换成 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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25013255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com