Parsing JSONObject having dynamic key
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"
}
}
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);
}
Iterator<String> iter = json.keys();
while (iter.hasNext()) {
String key = iter.next();
try {
Object value = json.get(key);
} catch (JSONException e) {
// Something went wrong!
}
}
Comments
Post a Comment