2014-12-13 44 views
0

我有JSON字符串與此參數:解析JSON字符串在Android的問題

{名稱,顏色,標題,記述,技能,電話,城市,照片,, visiting_id,visitings:{visiting_id:狀態} }

,我得到這樣的迴應:

{ 
    "status": "SUCCESS", 
    "error": "", 
    "class": "contact", 
    "action": "getContactInfo", 
    "code": 200, 
    "body": { 
    "title": "Android Develooer", 
    "color": "2", 
    "phone": "1234567890", 
    "city": "Kyiv, UA", 
    "visiting_id": "35", 
    "photo": "statics\/images\/user\/21417805976.3776.jpeg", 
    "descrip": "divsjcsufjv shgsvjcs", 
    "name": "\u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0420\u043e\u0433\u043e\u0432\u043e\u0439", 
    "skills": "Web, Ios, Android, Design", 
    "visitings": { 
     "42": "new", 
     "44": "new", 
     "46": "new" 
    } 
    } 
} 

最後一個元素與元素的列表。每個都有兩個參數:id和狀態。 在Android中解析這個列表的方法是什麼?

+0

什麼是不同類型的'visitings'即(新建...)??? – MilapTank 2014-12-13 11:00:23

+0

我不知道。 「新」 - 是一種狀態,並且該字段可以是新的/請求/批准/接受的。 – 2014-12-13 11:05:22

+0

我建議訪問應該是數組,也可以反轉這對''42「:」新「'到'」新「:」24「' – MilapTank 2014-12-13 11:07:28

回答

1

您可以將這些值轉換爲Map<String,String>,其中key是您的idvaluestatus

代碼:

try { 
     JSONObject object = new JSONObject(jsonString); 
     JSONObject bodyObject = object.getJSONObject("body"); 
     JSONObject visitingsObject = bodyObject.getJSONObject("visitings"); 
     Iterator<String> keys = visitingsObject.keys(); 
     Map<String, String> map = new HashMap<String, String>(); 
     while (keys.hasNext()) { 
      String key = keys.next(); 
      String value = visitingsObject.getString(key); 
      map.put(key, value); 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
+0

謝謝。這個例子非常有用。 – 2014-12-13 12:06:36