Android 向Json对象添加值
我的Android 向Json对象添加值,android,json,android-json,Android,Json,Android Json,我的JsonArray结构如下: resultArray = [ { "key1": [], "key2": "keyval", "key3": "keyVal" }, { "key1": [], "key2": "keyval", "key3": "keyVal" }, { "key1": [], "key2": "keyval", "key3": "keyVal" } ] 我正在尝试在第一个位置添加JsonObjec
JsonArray
结构如下:
resultArray =
[
{
"key1": [],
"key2": "keyval",
"key3": "keyVal"
},
{
"key1": [],
"key2": "keyval",
"key3": "keyVal"
},
{
"key1": [],
"key2": "keyval",
"key3": "keyVal"
}
]
我正在尝试在第一个位置添加JsonObject
JSONObject jo = new JSONObject();
jo.put("aa","bb");
( (JSONObject)resultArray.get(0)).getJSONArray("key1").put(jo);
执行上述步骤后,结果如下
resultArray = [{ "key1": [{"aa","bb"}] ,"key2":"keyval", "key3":"keyVal" },
{ "key1": [{"aa","bb"}] ,"key2":"keyval", "key3":"keyVal" },
{ "key1": [{"aa","bb"}] ,"key2":"keyval", "key3":"keyVal" } ]
值被添加到myJsonArray
中的所有项目中
但我想补充一下具体的职位
在上述情况下,我只想在“0”位置添加到
请让我知道以下行中是否有任何错误:
( (JSONObject)resultArray.get(0)).getJSONArray("key1").put(jo);
嗨,我试过你的代码,效果很好。有关更多说明,请查看工作示例
try {
JSONArray resultArray = new JSONArray();
JSONObject obj1 = new JSONObject();
JSONArray keyArray1 = new JSONArray();
obj1.put("key1", keyArray1);
resultArray.put(obj1);
JSONObject obj2 = new JSONObject();
JSONArray keyArray2 = new JSONArray();
JSONObject item1 = new JSONObject();
item1.put("value", "old");
keyArray2.put(item1);
obj2.put("key1", keyArray2);
resultArray.put(obj2);
JSONObject jo = new JSONObject();
jo.put("value", "new");
Log.i("@@@@",
"before Add lengths "
+ ((JSONObject) resultArray.get(0)).getJSONArray(
"key1").length());
((JSONObject) resultArray.get(0)).getJSONArray("key1").put(jo);
Log.i("@@@@",
"After Add resultArray [0] "
+ ((JSONObject) resultArray.get(0))
.getJSONArray("key1").get(0).toString());
Log.i("@@@@",
"After Add resultArray [1] "
+ ((JSONObject) resultArray.get(1))
.getJSONArray("key1").get(0).toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
运行此命令并在LogCat中查看结果
结果:
04-06 12:38:03.295:I/@@@@@(10307):在添加长度之前0
04-06 12:38:03.295:I/@@@@(10307):在添加结果数组[0]{“值”:“新建”}
04-06 12:38:03.295:I/@@@@(10307):在添加结果数组[1]{“value”:“old”}