Get json array keys in android
android, json
Solution
above sample json array , how to get the 204, 203 and 202?
No, current String is `JSONObject` instead of `JSONArray`. you should get Iterator using JSONObject. keys () if inner JSONObject keys dynamic as:
JSONObject issueObj = new JSONObject(jsonContent);
Iterator iterator = issueObj.keys();
while(iterator.hasNext()){
String key = (String)iterator.next();
JSONObject issue = issueObj.getJSONObject(key);
// get id from issue
String _pubKey = issue.optString("id");
}
Problem
``` { "204": { "host": "https:\/\/abc.com\/production-source\/ChangSha\/2013\/12\/02\/0\/0\/A\/Content\/", "timestamp": 1385909880, "cover": ["17\/Pg017.png", "18\/Pg018.png", "1\/Pg001.png", "2\/Pg002.png"], "year": "2013", "month": "12", "day": "02", "issue": "2013-12-02", "id": "204" }, "203": { "host": "https:\/\/abc.com\/production-source\/ChangSha\/2013\/12\/01\/0\/0\/A\/Content\/", "timestamp": 1385806902, "cover": ["1\/Pg001.png", "2\/Pg002.png", "3\/Pg003.png", "4\/Pg004.png"], "year": "2013", "month": "12", "day": "01", "issue": "2013-12-01", "id": "203" }, "202": { "host": "https:\/\/abc.com\/production-source\/ChangSha\/2013\/11\/30\/0\/0\/A\/Content\/", "timestamp": 1385720451, "cover": ["1\/Pg001.png", "2\/Pg002.png", "3\/Pg003.png", "4\/Pg004.png"], "year": "2013", "month": "11", "day": "30", "issue": "2013-11-30", "id": "202" } } ``` The above sample json array , how to get the 204, 203 and 202? Thanks I tried: ``` JSONArray issueArray = new JSONArray(jsonContent); for (int j = 0; j < issueArray.length(); j++) { JSONObject issue = issueArray.getJSONObject(j); String _pubKey = issue.getString(0); } ```