在java中访问奇怪的JSONObject

时间:2014-10-30 15:18:52

标签: java json arrays jsonobject

我想在java中访问一个奇怪的JSONObject,但它有点奇怪而且我被卡住了。这就是JSON Object的样子

{"a":{"11":[{"name":"\"test\"","value":55}]},"b":{"11":[{"name":1,"value":107}]},"c":{"11":[{"name":"test3","value":07}]},"d":{},"e":{}}

我试图像这样访问它,但不知道如何访问这些" 11"因为它是可变的,可以是任何数字。

Log.d(TAG, "A Object"+ main.getJSONObject("a"));

2 个答案:

答案 0 :(得分:1)

如何使用getNames()获取所有关键名称并从那里继续前进?

在Android中,它是names()

答案 1 :(得分:0)

在您的情况下,您可能应该使用JSONReader并根据需要处理密钥名称。

http://developer.android.com/reference/android/util/JsonReader.html

JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
reader.beginObject();
while (reader.hasNext()) {
   String name = reader.nextName(); // a, b or c

   reader.beginObject();
   while (reader.hasNext()) {
       String name = reader.nextName(); // 11 or whatever
       reader.beginArray();
       ...
   }
   reader.endObject();
}
reader.endObject();