簡體   English   中英

來自JsonArray的Java JsonObject

[英]Java JsonObject from JsonArray

我將Json存儲在javax.json.JsonObject中,該對象如下所示:

{  
 "status":"ok",
 "meta":{  
    "count":2
 },
 "data":{  
    "1":{  
       "id":40,
    },
    "17":{  
       "id":48,
    }
 }

}

如何訪問子對象“ 1”中的id鍵?

我試過了:

obj.getJsonArray("data").getJsonArray("1").getJsonNumber("id").intValue();

但是,由於getJsonArray()方法的首次調用返回的是JsonValue對象而不是JsonObject,所以它不起作用,因此下一次getJsonArray調用失敗。 有任何想法嗎 ?

您可以使用迭代器方法遍歷JSONObject:

JSONObject json = new JSONObject(input);

JSONObject jsonData = json.getJSONObject("data");
Iterator<?> jsonDataKeys = jsonData.keys();

while (jsonDataKeys.hasNext()) {
    String key = (String)jsonDataKeys.next();
    if (jsonData.get(key) instanceof JSONObject) {
        System.out.println(((JSONObject) jsonData.get(key)).getInt("id"));
    }
}
    int id = obj.getJsonObject("data")
                .getJsonObject("1")
                .getInt("id");
JSONObject jObject = null;    
jObject = new JSONObject(String you want to parse);
JSONObject j1Object = jObject.getJSONObject("data");
JSONObject j2Object = j1Object.getJSONObject("1");
String s1=j2Object.getString("id");
System.out.println(s1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM