1

有以下代码:

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并获取每个项目?

4

1 回答 1

4
 for(int i = 0; i < arr.size(); i++) {
        JsonObject p = (JsonObject)arr.get(i);
        System.out.println(p.get("time").getAsString());
    }
于 2012-09-11T08:26:51.160 回答