Reputation: 9103
I have a JSONObject
that contains some JSONObjects
as follows:
"statistics": {
"John": {
"Age": "22",
"status": "married"
},
"Ross": {
"Age": "34",
"status": "divorced"
}
}
Now all I know is the object name(statistics), and don't know it's elements number or it's elements names , So, is there's a way to parse that Object so that I can get it's elements and deal with it (ie. John, Ross) ?
Upvotes: 11
Views: 89567
Reputation: 8106
JSONObject json = new JSONObject(yourdata);
String statistics = json.getString("statistics");
JSONObject name1 = json.getJSONObject("John");
String ageJohn = name1.getString("Age");
For getting those items in a dynamic way:
JSONObject json = new JSONObject(yourdata);
String statistics = json.getString("statistics");
for (Iterator key=json.keys();key.hasNext();) {
JSONObject name = json.get(key.next());
//now name contains the firstname, and so on...
}
Upvotes: 20
Reputation: 43738
You did not specify which library you intend to use to represent the JSON object. Usually there are methods to enumerate the properties of the object. For example:
org.json.JSONObject.keys()
returns an iterator of the String names in the object.
Upvotes: 2