【发布时间】:2014-12-22 13:05:33
【问题描述】:
我有一个这样的 JSON 响应。
{
"array": [
{
"object1": {
"aa": "somevalue1",
"bb": "somevalue2",
"cc": "somevalue3"
}
},
{
"object2": {
"aa": "somevalue4",
"bb": "somevalue5",
"cc": "somevalue6"
}
}
]}
现在我可以从上面的响应中得到一个 JSON 数组。我想在for loop 中从对象object1 和object2 中读取值aa,bb,cc。
JSON 是动态的,我的意思是 object2 也可以出现在 object1 之前(以相反的顺序),我可能会得到一个结构相同的对象(object3)或只有一个(@987654331) @ 或 object2 或 object3)。
我不想这样做,因为我失败了:
JSONArray jsonArray = json.getJSONArray("array");
for (int i = 0; i < jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i).getJSONObject("object1");
}
所以我的问题是如何在不依赖对象名称或对象数量(object1 或 object2 或 object3)的情况下读取这些值 aa,bb,cc?
【问题讨论】: