JSONObject获取数据

时间:2017-08-03 17:25:15

标签: android json

我想从一个显示它的网站获取我的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");
     }

但它不起作用。 我做错了什么?

2 个答案:

答案 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
}