3

JSON以以下方式在我的android应用程序中使用:

  • 向 URL 发送请求并接收 JSON 响应。
  • 解析 JSON 响应并获取所需的元素“结果”,它是一个 JSON 数组。
  • 循环这个 JSON 数组的每个第 i 个元素并继续执行所需的操作

代码:

Integer numberOfItemsInResp = pagination.getInt("items");
    JSONArray results = jsonResponse.getJSONArray("results");
    for (int i = 0; i < numberOfItemsInResp; i++){
        JSONObject perResult = results.getJSONObject(i);
    }

问题是当i达到 50 时,JSONObject perResult = results.getJSONObject(i)抛出“org.json.JSONException: Index 50 out of range [0..50)”异常。

JSONArray 是否有任何限制?

4

2 回答 2

8

是什么numberOfItemsInResp?建议你这样做:

JSONArray results = jsonResponse.getJSONArray("results");
final int numberOfItemsInResp = results.length();
for (int i = 0; i < numberOfItemsInResp; i++){
    JSONObject perResult = results.getJSONObject(i);
}
于 2012-12-11T19:59:34.190 回答
0

只需做一个简单的调试,看看你的数组是什么样子的,很可能你在数组中没有足够的项目作为你提供的索引,上面的答案在这方面很清楚。

于 2012-12-11T20:03:18.993 回答