Java JSON索引超出范围
我目前正在尝试处理一些JSON,但它给了我一个错误,即“索引0超出范围[0..0]”受影响的行是被注释掉的行Java JSON索引超出范围,java,android,json,Java,Android,Json,我目前正在尝试处理一些JSON,但它给了我一个错误,即“索引0超出范围[0..0]”受影响的行是被注释掉的行 JSONObject parentObject3 = new JSONObject(finalJSON3); JSONArray parentArray3 = parentObject3.getJSONArray("players"); //JSONObject finalObject3 = parentArray3.getJSONObject(0); tempGameBans = f
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没有从我的服务器正确发送。无论如何,感谢大家的帮助。您正在调用一些属性,这些属性要么不在
JsonObject
中,要么指定索引处的属性值不存在。尝试删除,“在“NumberOfMutes”:1,
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"));
这很好,因此还存在一些其他问题。未来可能会重复:尝试在jsonlint.com上验证json;)我想是我在键入问题时输入的,因为它不在最终json中。我猜这与您实际的json有关。因此,请提供您问题的最终json。Ev我调用的每个值都在JSON对象中,所以我不确定它为什么会给我一个错误。
JSONObject Object=new JSONObject();
Object.get(1)
而不是getInt();请尝试此操作。我有时也会遇到此错误。这可能是未分配值的原因!请发布最终的JSON