2011-07-19 14 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日09: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、市内を取得します。

0直接文字列から json.getJSONObject(i).getJSONObject("all");またはgetJSONObjectを得ることができます

JSONObject jsonobj = new JSONObject(settings);

+0

が実現し、あなたはすべてのコードを投稿することができます:) – KaKa

+0

を編集しようとしていましたか?ありがとう – lacas

+0

あまりにも忙しい、申し訳ありませんが、あなたはエラーを見つけて、自分でそれを行うことができます – KaKa