本文介绍了JSONArray异常:索引50超出范围[0..50)。 JsonArray有没有限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的Android应用程序中使用 JSON ,方式如下:

I'm using JSON in my android application in the following manner:


  • 发送请求到URL&接收JSON响应。

  • 解析JSON响应&获取所需的元素results,这是
    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) throws org.json.JSONException:Index 50 out of range [0..50)异常。

Problem is when the i reaches 50, then JSONObject perResult = results.getJSONObject(i) throws "org.json.JSONException: Index 50 out of range [0..50)" Exception.

JSONArray是否有任何限制?

Is there any limitation attached to JSONArray?

推荐答案

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

What is numberOfItemsInResp? Suggest you do this:

JSONArray results = jsonResponse.getJSONArray("results");
final int numberOfItemsInResp = results.length();
for (int i = 0; i < numberOfItemsInResp; i++){
    JSONObject perResult = results.getJSONObject(i);
}

这篇关于JSONArray异常:索引50超出范围[0..50)。 JsonArray有没有限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 03:03