[英]Java JsonObject from JsonArray
I have Json stored in javax.json.JsonObject, the object look like this: 我将Json存储在javax.json.JsonObject中,该对象如下所示:
{
"status":"ok",
"meta":{
"count":2
},
"data":{
"1":{
"id":40,
},
"17":{
"id":48,
}
}
} }
How do I access the id key in the sub-object "1" ? 如何访问子对象“ 1”中的id键?
I tried: 我试过了:
obj.getJsonArray("data").getJsonArray("1").getJsonNumber("id").intValue();
However it does not work because the firt call of getJsonArray() method returns a JsonValue object not a JsonObject so the next call of getJsonArray fails. 但是,由于getJsonArray()方法的首次调用返回的是JsonValue对象而不是JsonObject,所以它不起作用,因此下一次getJsonArray调用失败。 Any ideas ?
有任何想法吗 ?
You can use an iterator approach to iterate thru the JSONObject: 您可以使用迭代器方法遍历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.