目前,我不明白为什么我不能从我的安卓应用程序中的JSONArray中提取JSONArray。下面给出了一个示例和我的源代码片段。
//The JSON
{
"currentPage":1,
"data":[
{
"id":"dimtrs",
"name":"Bud Light",
"breweries":[
{
"id":"BznahA",
"name":"Anheuser-Busch InBev",
}
]
}
],
"status":"success"
}现在我正试着收回“啤酒厂”阵列。
//Code Snippet
...
JSONObject jsonobject = new JSONObject(inputLine);
JSONArray jArray = jsonobject.getJSONArray("data");
JSONArray jsArray = jArray.getJSONArray("breweries");
...我可以很好地从数据数组中提取对象,但是我不能使用我当前的代码从" data“数组中获取"breweries”数组。
jsArray的错误是:
类型.getJSONArray(int)中的方法JSONArray不适用于参数字符串
那么,从“数据”数组中提取“啤酒厂”数组的正确方法是什么?
谢谢你提前提供帮助!
发布于 2014-04-24 11:04:11
这是因为“啤酒厂”位于“数据”数组的第一个对象中,而不是直接在数组本身上。您正在尝试从数组中获取密钥。
所以你想叫jArray.getJSONObject(0).getJSONArray("breweries");什么的。
正如Sambhav在评论中解释的那样,错误的原因是JSONArray的get方法期望一个int,而不是字符串作为它们的参数。
https://stackoverflow.com/questions/23266347
复制相似问题