我得到一个字符串,我试图转换为JSONArray。 JSONArray的长度变好(如果它的100或5000)。但我得到“java.lang.IndexOutOfBoundsException:无效索引50,大小为50”。以下是我的代码。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());
}
索引的维数从0开始,从而尺寸50的具有收集装置的是最后一个元素具有49索引 – hahn
的问题是,contactNameArr或contactPhoneNumberArr与您的jsonArray大小不一样。 – RvdK