如何在JSON对象中添加多个具有相同名称的JSON数组?
我试过了
JSONObject jsonObject = new JSONObject(jsonHeader);
jsonObject.put("item", jsonArray1);
jsonObject.put("item", jsonArray2);
Log.i(TAG, jsonObject.toString());
我得到了这个结果
{
...
"item":{[
jsonArray2
]}
}
但我希望得到的结果包含所有jsonArray
{
...
"item":{[
jsonArray1
]},
"item":{[
jsonArray2
]}
}
我该怎么做?
谢谢:D
答案 0 :(得分:3)
没有。你不能。不允许在JSON对象中创建具有相同名称的两个键。它不包含在JSON标准中。
答案 1 :(得分:0)
如果所有项都被称为item,则应考虑改为使用两层JSON数组。
[
[ "A" ],
[ "B" ],
[ "C" ]
]
如果条目可以具有不同的名称,则应该执行诸如将命名数组包装在对象中的操作。这意味着包含对象的JSON数组,以及包含具有名称和JSON数组的另一个对象的对象。
[
{
"item":["A"]
},
{
"item":["B"]
},
]
我会避免使用具有相同值的多个键,这不仅仅是出于JSON标准的原因,而且还因为它会为许多JSON解析器提供意外且可能不一致的结果。不要仅仅将JSON对象视为JSON,而是将它最终作为编程语言中的数据
免责声明:之前我从未尝试过2D JSON数组。