我目前正在尝试处理一些JSON,但它给了我一个错误,说“索引0超出范围[0..0)”受影响的行是被注释掉的。
JSONObject parentObject3 = new JSONObject(finalJSON3);
JSONArray parentArray3 = parentObject3.getJSONArray("players");
//JSONObject finalObject3 = parentArray3.getJSONObject(0);
tempGameBans = finalObject3.getInt("NumberOfBans");
tempVacBans = finalObject3.getInt("NumberOfMutes");;
这是我的JSON:
{
"players": [
{
"userID": "5648131",
"NumberOfBans": 0,
"NumberOfMutes": 1,
}
]
}
编辑:目前我只为每个JSON URL寻找1个对象,因此索引应始终为0,这与可能需要重复的对象相似。
编辑2:我发现问题是什么,这是因为JSON没有从我的服务器正确发送。无论如何,谢谢你的帮助。
答案 0 :(得分:2)
String jsonString = new String("{\"players\": [{\"userID\": \"5648131\",\"NumberOfBans\": 0,\"NumberOfMutes\": 1}]}");
JSONObject parentObject3 = new JSONObject(jsonString);
JSONArray parentArray3 = parentObject3.getJSONArray("players");
JSONObject finalObject3 = parentArray3.getJSONObject(0);
System.out.println(finalObject3.getInt("userID"));
System.out.println(finalObject3.getInt("NumberOfBans"));
System.out.println(finalObject3.getInt("NumberOfMutes"));
这样做很好,所以还有另外一个问题。
答案 1 :(得分:1)
您正在调用某个属性,或者不在JsonObject
中,或者指定索引处的属性值不存在。
答案 2 :(得分:1)
尝试删除" NumberOfMutes":1,末尾的"," 。