2017-03-01 141 views
-2

我想从一个JSONObject如何在getJSONArray();中传递JSONObject作为字符串?

JSONObject jsonObject=new JSONObject(response_view); 
for(int x=0; x<jsonObject.length(); x++) { 
JSONArray jsonArray = jsonObject.getJSONArray("Here I have to pass"); 
} 

这是我JSON取多个JSONArray

{ 
    "Mr. VICKRAM SINGH_269": [{ 
     "status": "P", 
     "date": "2017-02-05" 
    }, { 
     "status": "P", 
     "date": "2017-02-06" 
    }], 
    "Mr. VIVEK KUMAR YADAV_276": [{ 
     "status": "P", 
     "date": "2017-02-05" 
    }, { 
     "status": "P", 
     "date": "2017-02-06" 
    }] 
} 
+0

http://stackoverflow.com/a/42530742/7320259请检查我的答案。这个问题也有JSON –

+0

发布您的resonse_view JSON,以便我们可以帮助您 –

+0

{“Mr. VICKRAM SINGH_269”:[{“status”:“P”,“date”:“2017-02-05”},{“status “:”P“,”date“:”2017-02-06“}],”VIVEK KUMAR YADAV_276先生“:[{”status“:”P“,”date“:”2017-02-05“} ,{“status”:“P”,“date”:“2017-02-06”}]} –

回答

1

可以解析JSON象下面这样:

try{ 
    JSONObject json = new JSONObject(jsonRespondeString); 
    Iterator<String> iterator = json.keys(); 
    while (iterator.hasNext()){ 
      String key = iterator.next(); 
      JSONArray jsonArray = json.getJSONArray(key); 
      for(int i=0;i<jsonArray.length();i++){ 
       JSONObject object = jsonArray.getJSONObject(i); 
       String value1 = object.getString("key1"); 
       String value2 = object.getString("key2"); 
      } 
     } 
    } 
catch (JSONException e){ 
     e.printStackTrace(); 
} 

你可以从键像这样得到的名称和ID:

String str="Mr. VICKRAM SINGH_269"; 
String array[]= str.split("_"); 
String name =array[0]; 
String id =array[1]; 
+0

JSON数组是动态的...它改变了时间..所有的JSON数组都存储在JSON我必须从中取回 –

+0

发布你的json响应 –

+0

@RishabhSaxena看到我编辑的代码 –

0
JSONArray jsonArray=jsonObject.getJSONArray("Write the name of your array here"); 

,然后循环您jsonArray对象

+0

数组是动态的。 ..我不知道数组的名称 –

+0

张贴您的JSON @RishabhSaxena –

+0

{“key”:[“item”,“item2”,“item3”]}你应该有一个键在你的数组在json字符串中,因为它这里是'关键'。否则,你的JSON不是一个有效的JSON。你可以请张贴你的json字符串吗? – anzaidemirzoi

相关问题