无法将JSONObject强制转换为JSONArray,SimpleJSON

时间:2012-09-11 08:18:41

标签: java json

拥有以下代码:

String s= v.request("engine/?key=", "P4z72NmBa91&method=load");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
JSONArray arr = (JSONArray)obj;
System.out.println(arr);

哪个输出:

[
    {"time":"2012-09-10 19:09:08",
     "username":"SomeUsername",
     "times_logged":"1",
      "ip":"33.33.33.33"
     }
]

如果上述格式不正确,请注意。

无论如何,arr中有多组这些,当我arr.get(0)时,它会按预期返回第一组。什么是行不通的是我无法做arr.get(0).get(1)arr.get(0).get("time")或类似的事情。我试着像这样设置它:

    for(int i = 0; i < arr.size(); i++) {
        JSONArray p = (JSONArray)arr.get(i);
        System.out.println(p.get(0));
    }

,我收到了问题标题中提到的错误。虽然我认为arr不是JSONArray,而是JSONObject?如果是这种情况,我如何迭代arr中包含的内容并获取每个项目?

1 个答案:

答案 0 :(得分:4)

 for(int i = 0; i < arr.size(); i++) {
        JsonObject p = (JsonObject)arr.get(i);
        System.out.println(p.get("time").getAsString());
    }