2016-06-12 68 views
0

我有此JSONJSONObject到arraylist?爲什麼這個JSONException?

{ 
    "summary": 
    { 
     "total_count":2 
    }, 
    "data": 
    [ 
     { 
      "id":"129393910815742", 
      "name":"Mike Pollito" 
     }, 
     { 
      "id":"117161088707629", 
      "name":"James Carballo" 
     } 
    ], 
    "paging": 
    { 
     "cursors": 
     { 
      "after":"mUhn", 
      "before":"QVFn" 
     } 
    } 
} 

,我需要保存的ID在ArrayList或任何簡單的數組。

注意:ID的數量可能會有所不同。

的問題是不是我就可以輕鬆搞定「TOTAL_COUNT」與

int amigos = listatodoslosamigos.getJSONObject("summary").getInt("total_count"); 

但是當我試圖讓任何「身份證」當我打電話

JSONObject data = listatodoslosamigos.getJSONObject("data"); 

我總是得到一個JSONException

這是我的小車代碼

public void onCompleted(GraphResponse response) { 
     /* handle the result */ 
        JSONObject listatodoslosamigos = response.getJSONObject(); 
        try { 
         int amigos = listatodoslosamigos.getJSONObject("summary").getInt("total_count"); 
         JSONObject data = listatodoslosamigos.getJSONObject("data"); 

        } catch (JSONException e) {} 
       } 
      } 
    ).executeAsync(); 
+0

「data」是一個數組。試着做'JSONArray data = listatodoslosamigos.getJSONObject(「data」);' –

回答

0

你在JSON data屬性是一個數組,所以你需要使用getJSONArray,例如;

JSONArray data = listatodoslosamigos.getJSONArray("data"); 

可以迭代器使用.listIterator()或通過.getJSONObject(index)一個JSONArray;

JSONArray data = listatodoslosamigos.getJSONArray("data"); 
JSONObject member = data.getJSONObject(0); 

您還可以使用JSONArray.toCollectiondata.toArray把一個JSONArray成普通的Java集合或數組。

0

我想你想:

JSONArray data = listatodoslosamigos.getJSONArray("data"); 
0

此行錯誤 JSONObject data = listatodoslosamigos.getJSONObject(「data」);

Replace this line with below line 

JSONObject data = listatodoslosamigos.getJSONArray(「data」);

B'caz data is json array type and you are trying to get json object so that use found this type of exception. 
相關問題