如何在JSONObject中循环遍历JSONArray

时间:2016-10-13 16:53:19

标签: android

我目前有以下JSON结构:

{
  "Apps": [
    {
      "column1": "sample string 1",
      "column2": true
    },
    {
       "column1": "sample string 1",
      "column2": true
    }
  ],
  "param": true
}

如何获取column1和column2的值?我只知道如何解析的是JSONArray中的JSONObject。

3 个答案:

答案 0 :(得分:1)

JSONObject jSONObject = new JSONObject(yourStrinig);
JSONArray jArray = jSONObject.getJSONArray("Apps");
for (int i = 0; i < jArray.length(); i++) {
    JSONObject childrenObject = jArray.getJSONObject(i);
    String column1 = childrenObject.getString("column1");
    String column2 = childrenObject.getString("column2");
}

答案 1 :(得分:0)

像这样。

// Get a reference to the JSON object
JSONObject jSONObject = new JSONObject(stringJsonResponse);
// Getting the JSON array node
JSONArray jsonAray = jSONObject.getJSONArray("Apps");
// Looping through the json array
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject childrenObject = childrenArray.getJSONObject(i);
    ...
    ...
    ...
}

您可以查看我在收到类似数据时如何解析JSON数据https://github.com/gSrikar/AskReddit/blob/master/app/src/main/java/com/example/srikar/askreddit/MainActivity.java

答案 2 :(得分:0)

用这个你可以循环遍历所有元素

private void showJSON(String response){
                String name="";
                String phone_number="";
                try {
                    JSONObject jsonObject =new JSONObject(response);
                    JSONArray result = jsonObject.getJSONArray(config.JSON_ARRAY);
                    for(int x=0;x<result.length();x++) {
                        JSONObject collegeData = result.getJSONObject(x);
                        name = collegeData.getString(config.KEY_NAME);
                        phone_number = collegeData.getString(config.KEY_PHONE_NUMBER);
                       //you can save your data in list here
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }