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"
     }
]

上記が正しくフォーマットされていない場合は申し訳ありません。

とにかく、 にはこれらのセットが複数ありarrarr.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));
    }

、質問のタイトルに記載されているエラーが表示されます。arrJSONArrayではなく、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 に答える