2011-07-19 116 views
0

的json:Android解析此JSON - 如何?

[ 
    { 
     "all": { 
      "dates": [ 
       { 
        "date": "2011-01-18", 
        "name": "asd" 
       }, 
       { 
        "date": "2011-02-19", 
        "name": "ddd" 
       }, 
       { 
        "date": "2011-11-21", 
        "name": "eee" 
       } 
      ], 
      "dep": [ 
       { 
        "code": "BBB", 
        "name": "BUD" 
       } 
      ], 
      "citys": [ 
       { 
        "id": "2163", 
        "name": "ASD" 
       }, 
       { 
        "id": "2369", 
        "name": "EFG" 
       }, 

... 

我的代码

   JSONArray json = new JSONArray(s); //json string 
       for(int i=0;i<json.length();i++){ 
        String settings   = json.getJSONObject(i).getString("all"); 
        JSONArray jsonarray  = new JSONArray(settings); 

        for (int j=0; j<jsonarray.length();j++){ 

         String dates   = jsonarray.getJSONObject(j).getString("dates"); 
         JSONArray jsonarray2 = new JSONArray(dates); 

         for (int k=0; k<jsonarray2.length();k++){ 
          String date   = jsonarray2.getJSONObject(k).getString("date"); 


          Log.e("date", date); 
         } 
.. 

九月7日至19日:52:31.356:ERROR/EX(19038):org.json.JSONException:值 { “城市的”:[{ “ID”: “2163”,“...

如何可以解析该文件是否正确?

谢谢,莱斯利

回答

3
json.getJSONObject(i).getString("all"); 
JSONArray jsonarray  = new JSONArray(settings); 

'所有' 是一个JSONObject,而不是一个JSONArray,所以得到的JSONObject并获得JSONArrays日期,DEP,城市的。

可以直接得到从字符串json.getJSONObject(i).getJSONObject("all");或getJSONObject, JSONObject jsonobj = new JSONObject(settings);

+0

实现正要编辑:) – KaKa

+0

您可以发布的所有代码?谢谢 – lacas

+0

对不起,太忙了,希望你找到了错误,并可以自己做 – KaKa