2016-10-13 8 views
0

Я в настоящее время имеют следующую структуру JSON:Как Переберите JSONArray внутри JSONObject

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

Как получить значения column1 и COLUMN2? То, что я знаю только для синтаксического анализа, - это JSONObject внутри JSONArray.

ответ

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

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

с этим может вы можете перебрать все элементы

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(); 
       } 

      } 
Смежные вопросы