解析具有动态密钥的JSONObject [英] Parsing JSONObject having dynamic key
本文介绍了解析具有动态密钥的JSONObject的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从服务器收到以下JSON作为响应.起初,我认为这是无效的JSON,但在对其进行验证之后,它似乎是正确的:
I have following JSON as response from my server. At first, I thought, it was invalid JSON but after validating it, it seems to be correct:
JOSN: {
"category": {
"1": "World",
"2": "Politics",
"3": "Economy",
"4": "Sports",
"5": "Cricket",
"6": "General",
"7": "Business",
"8": "Services",
"9": "Law & Order",
"10": "Entertainment"
}
}
验证:
如果是JSONArray,我将使用SO中的以下解决方案对其进行解析:
If it would have been JSONArray, I would have parsed it with this solution from SO: How to parse a JSON without key in android?
但是如何解析这里的JSON?
But how do I parse the JSON I have here?
任何帮助表示赞赏.
推荐答案
但是如何解析这里的JSON?
But how do I parse the JSON I have here?
如果category
JSONObject中的键是动态的,则使用JSONObject.keys()
获取Iterator
以获取值,如下所示:
if keys inside category
JSONObject is dynamic then use JSONObject.keys()
to get Iterator
for getting values as:
JSONObject mainJSONObj=new JSONObject(<json_string>);
// get category JSONObject from mainJSONObj
JSONObject categoryJSONObj=mainJSONObj.getJSONObject("category");
// get all keys from categoryJSONObj
Iterator<String> iterator = categoryJSONObj.keys();
while (iterator.hasNext()) {
String key = iterator.next();
Log.i("TAG","key:"+key +"--Value::"+categoryJSONObj.optString(key);
}
这篇关于解析具有动态密钥的JSONObject的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文