java.lang.IndexOutOfBoundsException:索引50无效,大小为50

时间:2016-02-10 10:00:02

标签: java android

我正在收到一个我想要转换为JSONArray的字符串。 JSONArray的长度正常(如果是100或5000)。但我得到“java.lang.IndexOutOfBoundsException:索引50无效,大小为50”。以下是我的代码。

try 
{
    JSONArray jsonArray = new JSONArray(returndResultForSNID); 
    System.out.println("jsonArray: "+jsonArray.length());
    for(int i = 0; i < jsonArray.length(); i++)
    {
        snid = jsonArray.getJSONObject(i).getString("snid");
        //number = jsonArray.getJSONObject(i).getString("phone");                   
        phoneContactsDTOArrayList.add(new PhoneContactsDTO( contactNameArr.get(i).toString() , contactPhoneNumberArr.get(i).toString(), snid, "") );                
        //System.out.println( "Could jsonArray parse malformed JSON: " + snid +" _> "+number);
    }

} 
catch (Exception e) 
{
    System.out.println( "JSONArray error: " + e.toString() );
}

1 个答案:

答案 0 :(得分:0)

数组是基于0的。

这意味着大小为50的数组的索引从0到49。

contactNameArrcontactPhoneNumberArr可能小于jsonArray的大小。特别是jsonArray的大小大于51,而其他一个的大小为50。