2017-12-03 15 views
3

からデータを取得することができませんが、私の上記のJSON 2017年に私のJSON私はここでJSON

{ 
    "2017": { 
     "11": { 
      "8": { 
       "status": "" 
      }, 
      "10": { 
       "status": "" 
      }, 
      "24": { 
       "status": "" 
      }, 
      "present": 0, 
      "absent": 0 
     }, 
     "12": { 
      "1": { 
       "status": "" 
      }, 
      "2": { 
       "status": "" 
      }, 
      "present": 0, 
      "absent": 0 
     } 
    } 
} 

ある11月、8日付で、年間です。 私は月に12を得ることができません。私はちょうど11ヵ月までそれを取得しており、日付は逆順になっています これは私が取得したものですjsonからのデータを取り出すとき

12-03 10:26:23.592 18581-18581 /? D /年:2017

12-03 10:26:23.592 18581-18581 /? D /月:11

12-03 10:26:23.592 18581-18581 /? D/16:24

12-03 10:26:23.592 18581-18581 /? D /タイトル:A

12-03 10:26:23.592 18581-18581 /? D/16:10

12-03 10:26:23.592 18581-18581 /? D /タイトル:A

12-03 10:26:23.592 18581-18581 /? D/16:8

12-03 10:26:23.592 18581-18581 /? D /タイトル:P

、ここでは、私はこの

try { 
      JSONObject object = new JSONObject(response); 
      Iterator iterator = object.keys(); 
      attendance_pojo pojo= new attendance_pojo(); 

      while (iterator.hasNext()) { 
       String year = (String) iterator.next(); 
       pojo.setYear(year); 

       Log.d("year", year); 
       JSONObject obj = object.getJSONObject(year); 
       Iterator iterator2 = obj.keys(); 


       while (iterator2.hasNext()) { 

        String month = (String) iterator2.next(); 
        pojo.setMonth(month); 
        Log.d("month", month); 
        JSONObject ob = obj.getJSONObject(month); 

        Iterator iterator3 = ob.keys(); 

         int datecntr=0; 
        while (iterator3.hasNext()) { 
         datecntr++; 
         String date = (String) iterator3.next(); 
         pojo.setDate(date); 
         JSONObject ob1 = ob.getJSONObject(date); 
         Log.d("16", date); 
         String title = ob1.getString("status"); 
         Log.d("title", title); 
        } 
        pojo.setDatecounter(datecntr); 

       } 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     }} 

答えて

1

1をフェッチするために書かれたコードである)あなたは、2つのオブジェクトを含むオブジェクトを反復処理しようとしています。配列内の月を以下のように定義することをお勧めします。

2)返されるjson要素の順序はランダムであり、構造の特定の順序ではありません。

{ 
    "2017": [ 
     "11": { 
      "8": { 
       "status": "" 
      }, 
      "10": { 
       "status": "" 
      }, 
      "24": { 
       "status": "" 
      }, 
      "present": 0, 
      "absent": 0 
     }, 
     "12": { 
      "1": { 
       "status": "" 
      }, 
      "2": { 
       "status": "" 
      }, 
      "present": 0, 
      "absent": 0 
     } 
    ] 
} 
関連する問題