【发布时间】:2021-06-24 04:01:57
【问题描述】:
从类似的问题开始,
Nested JSON Array in Java
我有一个有点奇怪的 json 作为 REST api(POST) 调用的响应。我需要在每个items 数组元素中找出sub_items 数组的id 和name。
我尝试了下面给出的错误,例如
org.json.JSONException: JSONObject["items.sub_items"] 未找到。
我也尝试将“sub_items”作为参数,但没有。我正在使用 GSON。没办法用别人。
final JSONObject jsonObj = new JSONObject(JSON_STRING);
final JSONArray subItems = jsonObj.getJSONArray("items.sub_items");
final int n = subItems.length();
for (int i = 0; i < n; ++i) {
final JSONObject subI= subItems.getJSONObject(i);
System.out.println("id="+subI.getString("id"));
System.out.println("name="+subI.getString("name"));
}
以下是我的 json 作为 REST api 调用的响应。
{
"menu": {
"items": [{
"id": 1,
"code": "hot1_sub1_mnu",
"name": "Mutton",
"status": "1",
"sub_items": [{
"id": "01",
"name": "Mutton Pepper Fry",
"price": "100"
}, {
"id": "02",
"name": "Mutton Curry",
"price": "100"
}]
},
{
"id": "2",
"code": "hot1_sub2_mnu",
"name": "Sea Food",
"status": "1",
"sub_items": [{
"id": "01",
"name": "Fish Fry",
"price": "150"
}]
},
{
"id": "3",
"code": "hot1_sub3_mnu",
"name": "Noodles",
"status": "1",
"sub_items": [{
"id": "01",
"name": "Chicken Noodles",
"price": "70"
}, {
"id": "02",
"name": "Egg Noodles",
"price": "60"
}]
}
]
}}
【问题讨论】:
-
因为你必须先访问
menu,然后才能访问items