我想从一个显示它的网站获取我的Android应用程序的一些json数据:
[ {"id":"33333", "title":"My title" },
{"id":"33344", "title":"My title 2" },
...
]
我已经看过一些教程,但我真的不明白你如何能够获得{}中的信息。 我有这样的事情:
for (int i = 0; i < jsonObj.length(); i++) {
String id = jsonObj.getJSONObject("part").getString("id");
}
但它不起作用。 我做错了什么?
答案 0 :(得分:1)
对于你那里的特定阵列,你需要这样的东西:
JSONArray jsonArray = new JSONArray(your_returned_json_string);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
if (!jsonObj.isNull("id")) {
// do something with id
}
if (!jsonObj.isNull("title")) {
// do something with title
}
}
答案 1 :(得分:1)
非常简单。
请考虑以下是名为 jsonArray
的JSON数组[
{"id":"33333", "title":"My title" },
{"id":"33344", "title":"My title 2" },
.....
]
您在此数组中拥有JSON对象,所有这些对象都具有相似的格式。因此,您需要逐个提取它们。这就是for循环发挥作用的地方。
for(int i=0 ; i < jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i); //Get each JSONObject
//Now jsonObject will contain 'i'th jsonObject
//Extracting data from each object will be something like
int id = jsonObject.getInt("id"); //3333
String title = jsonObject.getString("title"); //My title
}