我是Android开发新手。我对JSON知之甚少。我使用了Json简单格式。
{
"worldpopulation":
[
{
"rank":1,"country":"China",
"population":"1,354,040,000",
"flag":"http://www.androidbegin.com/tutorial/flag/china.png"
},
{
"rank":2,"country":"India",
"population":"1,210,193,422",
"flag":"http://www.androidbegin.com/tutorial/flag/india.png"
}
]
}
在上面的JSON数据中,我们可以在获得JSOn数组worldopopulation后简单地调用rank,country。
现在我有JSON数据显示如下,这里JSON数组是相同的我认为因为项目存在我不知道。然后它有对象作为数字,因为它有国家。
{
"Items":"0 to 2",
"worldpopulation":[
{
"0":{
"country":"China",
"population":"1,354,040,000",
"flag":"http://www.androidbegin.com/tutorial/flag/china.png"
}
},
{
"1":{
"country":"India",
"population":"1,210,193,422",
"flag":"http://www.androidbegin.com/tutorial/flag/india.png"
}
}
]
}
现在我不知道如何呼唤国家,人口和旗帜。
方法是否相同。 Jsonobject.getstring("秩&#34);在jsonarray之后(" worldpopulation");
或者不同。
答案 0 :(得分:3)
执行以下操作
try {
JSONObject reader = new JSONObject("your json str");
JSONArray items = reader.getJSONArray("worldpopulation");
for (int i = 0; i < items.length(); ++i) {
JSONObject jsonProgram = items.getJSONObject(i);
JSONObject yourObject = null;
if (i == 0) {
yourObject = jsonProgram.getJSONObject("0");
} else {
yourObject = jsonProgram.getJSONObject("1");
}
//Do here what did before with yourObject
}
} catch (JSONException e) {
Log.i("Test", e.toString());
}