2014-01-09 19 views
0

我有以下代碼無法獲取JSON對象類型數組

public static ArrayList<NameValuePair> getParticipants(String jData)throws JSONException{ 
    JSONObject jObj = new JSONObject(jData); 
    ArrayList<NameValuePair> partyList = new ArrayList<NameValuePair>(); 
    JSONArray jPartyArr = jObj.getJSONArray("participate_users"); <-- ERROR HERE 

    servResponse = (int) jObj.getInt("returnCode"); 
    if(servResponse == 1){ 
     for(int i=0; i<jPartyArr.length(); i++){ 
      JSONObject obj = jPartyArr.getJSONObject(i); 
      partyList.add(new BasicNameValuePair("account", obj.getString("account_id"))); 
      partyList.add(new BasicNameValuePair("name", obj.getString("realname"))); 
     } 

    } 
    return partyList; 
} 

而下面的JSON:

{ 
    "returnCode": "1", 
    "result": { 
     "chat_group_id": "82", 
     "participate_users": [ 
      { 
       "account_id": "328", 
       "realname": "Jessica" 
      }, 
      { 
       "account_id": "360", 
       "realname": "Chloe" 
      } 
     ] 
    } 
} 

但是我得到以下錯誤:

org.json.JSONException: No value for participate_users 

我有感覺我不小心忽略了JSON格式。任何人都可以請我指出正確的方向?

謝謝

+0

'participate_users'嵌套在'result'。 –

+0

ARGH ..是的,這就是爲什麼...謝謝。一直在尋找這個bug現在30分鐘。謝謝 – Jeremy

回答

2

您需要轉到下面一個級別。

試試這個 - JSONArray jPartyArr = jObj.getJSONObject("result").getJSONArray("participate_users");

+0

是的,謝謝。爲答案。我稍後會接受它。我想我只是累了,我忽略了那個錯誤。 – Jeremy