2013-07-26 87 views
0

嘿,我有一個項目,我必須解析一個JSON對象它真的給我一個很難處理這個數據格式我可以使用Json數據本身看起來像這樣如何處理android中的JSON數據

{ 
"users": { 
    "token": "FFFFFFFFF###5", 
    "username": "wanjiku", 
    "full name": "Wanjiku Karimi", 
    "profilePic": "http://freevar.com/vr-content/uploads/2012/08/Freevar-Profile-Pictures-Pimp.jpg", 
    "cradle": [ 
     { 
      "name": "wanjiku's rock", 
      "id": "1", 
      "logo": "http://freevar.it/150x150" 
     } 
    ] 
} 

}

我從JSONObject的檢索這個數據代碼,像這樣

try{ 
    JSONObject json_data = new JSONObject(result); 
    JSONArray jArray = null; 

    jArray = json_data.getJSONArray("users"); 

    for(int i = 0; i < jArray.length(); i++){ 
     JSONObject c = jArray.getJSONObject(i); 
     System.out.println(c.getString("token")); 

    } 

請幫我找回數據我目前得到的錯誤是

org.json.JSONObject不能轉換到JSONArray

回答

1

您可以使用這一個

JSONObject json_data = new JSONObject(result); 
    JSONArray jArray = null; 
    JSONObject jobj = json_data.getJSONObject("users"); 
    System.out.println(jobj.getString("token")); 
    System.out.println(jobj.getString("username")); 
    System.out.println(jobj.getString("full name")); 

    jArray = jobj .getJSONArray("cradle"); 
    for(int i = 0; i < jArray.length(); i++){ 
     JSONObject c = jArray.getJSONObject(i); 
     System.out.println(c.getString("name")); 
     System.out.println(c.getString("id")); 
     System.out.println(c.getString("logo")); 

    } 

[ - >此表示的部份JSON數組

{ - >這表示JSON對象

+0

謝謝你這個幫助 – user1534409

+0

不客氣 –

4

用戶是不是一個JSONArray而是一個JSONObject:

變化

jArray = json_data.getJSONArray("users"); 

JSONObject jObj = json_data.getJSONObject("users"); 
+0

哥們你的生命的救星感謝很多 – user1534409

+0

歡迎您 – j0n0

+0

很抱歉打擾你的解決方案在幫助我訪問所有的值,直到你搖籃我如何訪問搖籃 – user1534409