2014-09-10 132 views
2

我试图解析其中包含多个JSON objects.Please帮助我做一些代码来解析这个数据的JSON响应:如何解析在侧JSON对象的多个JSON对象

{ 
"All": { 
    "name": "All", 
    "display": "All" 
}, 
"Apparel": { 
    "name": "Apparel", 
    "display": "Apparel" 
}, 
"Appliances": { 
    "name": "Appliances", 
    "display": "Appliances" 
} 
} 

我试过单Json中的对象分析响应,我能够获取。但我不知道如何解析与多个节点的Json oblect ..我曾尝试过,但无法在这个成功。您的帮助非常感谢

我需要解析这个数据

+0

JSON是很简单的,你已经尝试解析什么? – 2014-09-10 12:10:22

+0

请显示你的代码...你到目前为止尝试过什么? – Gattsu 2014-09-10 12:14:14

回答

1

你可以试试下面的代码

JSONObject outer = new JSONObject(response); 
Iterator<String> keys =outer.keys(); 
while(keys.hasNext()){ 
    String key = keys.next(); 
    JSONObject inside = outer.getJSONObject(key); 
    //Do stuff 
} 

其中response是json字符串。

1

它将如下所示。其中RootData是主要的JSON字符串

JSONObject js=new JSONObject(RootData); 
JSONObject all =js.getJSONObject(“All”); 
String AllName=all.getString(“name”); 
String AllDisplay=all.getString(“display”); 

JSONObject apparel =js.getJSONObject(“Apparel”); 
String apparel_Name=apparel .getString(“name”); 
String apparel_Display=apparel .getString(“display”); 

JSONObject appliances =js.getJSONObject(“Appliances”); 
String appliances_Name=appliances .getString(“name”); 
String appliances_Display=appliances .getString(“display”); 
1

你可以得到另一个JSONObect的价值要求的关键, 试一下:

String jsonStr = " {\n\"All\": {\n \"name\": \"All\",\n \"display\": \"All\"\n},\n\"Apparel\": {\n \"name\": \"Apparel\",\n \"display\": \"Apparel\"\n},\n\"Appliances\": {\n \"name\": \"Appliances\",\n \"display\": \"Appliances\"\n}"; 
JSONObject json; 
json = new JSONObject(jsonStr); 
JSONObject All = json.getJSONObject("All"); 
1
try { 
      JSONObject obj = new JSONObject("your result String"); 
      JSONObject obj1 = obj.getJSONObject("All"); 
      String name=obj1.getString("name"); 
      String display=obj1.getString("display"); 
      JSONObject obj2 = obj.getJSONObject("Apparel"); 
      String name1=obj2.getString("name"); 
      String display1=obj2.getString("display"); 

      JSONObject obj3 = obj.getJSONObject("Appliances"); 
      String name2=obj3.getString("name"); 
      String display2=obj3.getString("display"); 


     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     }