我正在尝试解析从 Web 服务器接收到的 json 字符串作为响应,但我有一个奇怪的问题。在我的 json 中,我有一些JSONObjects
,我永远不知道它们的名字是什么,我应该根据它有多少来循环它们keys
。但问题在于我使用的代码每次都获得相同的值,即使我知道还有其他值也是如此。
这是我正在使用的鳕鱼:
JSONObject json = (JSONObject) new JSONTokener(jsonBuffer).nextValue();
JSONObject country = json.getJSONObject(String.valueOf(json.keys().next()));
Iterator<Object> keys = json.keys();
while (keys.hasNext()) {
String countryName = country.getString("country_name");
Log.e("","country_name: "+countryName);
String data = country.getString("data");
Log.e("","data : "+data);
}
这是我的 json 的样子:
"AZ": {
"country_name": "Azerbaijan",
"data": {
"181261": {
"time_published": "2012-04-04 15:55:29",
"title": "Azerbaijan, Turkey not to change stakes in TANAP",
"body": null
},
"181260": {
"time_published": "2012-04-04 15:53:10",
"title": "SOCAR mulls acquisition of Swiss refinery",
},
"181061": {
"time_published": "2012-04-03 05:53:00",
"title": "Azerbaijan, Lithuania mull LNG terminal investment",
},
// and so on....
}
}, // and it keeps going on
任何想法我的 jsonParser 应该是什么样子?