这是我的json文件的相关部分:
"categories": [
[
"Belgian Restaurant",
"belgian"
],
[
"Brasserie",
"brasseries"
]
],
我想要做的是从第二个JSONArray
检索信息(比如说“brasseries”)。
以下代码用于从第一个数组中检索信息:
JSONArray categories = jsonObject.getJSONArray("categories");
restaurant.setCat1(categories.getJSONArray(0).getString(1));
这个结果是“belgian”如预期的那样,但后来我为第二个阵列试了同样的东西:
restaurant.setCat2(categories.getJSONArray(1).getString(1));
并抛出Index 1 out of range [0..1)
JSONException
我没有得到它,因为文件中明确存在索引0和1 ...为什么0会工作而不是1?
答案 0 :(得分:2)
问题是在没有名称的另一个数组中有一个数组,你的错误可以像这样被忽略,
restaurant.setCat2(categories.getJSONArray(0).getString(1));
在编码任何JSON
数据之前,您应该始终检查它是否正确,
问题中的JSON
缺少您要迭代的不同值的KEY's
,
尝试使用键值对生成JSON
示例
{
"categories": [
{
"id": "00",
"name": "Some_name_0"
},
{
"id": "01",
"name": "Some_name_1"
},
{
"id": "02",
"name": "Some_name_2"
},
{
"id": "03",
"name": "Some_name_3"
},
{
"id": "04",
"name": "Some_name_4"
}
]
}