2017-09-30 1 views
0

Ich habe ein verschachteltes JSON-Array, das ich dekodieren möchte. Ich habe bereits einen Weg gefunden, eine bestimmte Information im Objekt zu dekodieren, aber es funktioniert nicht so gut.Decode verschachtelte JSON-Array in Android

Dies ist der Code, den ich zu dekodieren verwendet (Name, Abdeckung und Straße) von dem Objekt JSON:

JSONArray jsonArray = response.getJSONArray("data"); 

for (int i=0; i < jsonArray.length();i++){ 
    JSONObject events = jsonArray.getJSONObject(i); 
    String name = events.getString("name"); 
    JSONObject cover = events.getJSONObject("cover"); 
    String imgurl = cover.getString("source"); 
    JSONObject place = events.getJSONObject("place"); 
    JSONObject loc = place.getJSONObject("location"); 
    String street = loc.getString("street"); 

    ItemListView item = new ItemListView(name,street,imgurl); 
    listItems.add(item); 
    adapter = new ItemListAdapter(listItems, getActivity()); 

    recyclerView.setAdapter(adapter); 
} 

Ich möchte weitere Informationen wie Beschreibung, end_time und START_TIME entschlüsseln.

Die Struktur JSON-Daten wie folgt aussieht:

{ 
    "data": [ 
     { 
     "description": "", 
     "end_time": "", 
     "name": "", 
     "place": { 
      "name": "", 
      "location": { 
       "city": "", 
       "country": "", 
       "latitude": 0000000, 
       "longitude": 000000, 
       "street": "" 
      }, 
      "id": "" 
     }, 
     "start_time": "", 
     "id": "" 
     }, 
     { 
     "description": "", 
     "end_time": "", 
     "name": "", 
     "place": { 
      "name": "", 
      "location": { 
       "city": "", 
       "country": "", 
       "latitude": 0000000, 
       "longitude": 000000, 
       "street": "" 
      }, 
      "id": "" 
     }, 
     "start_time": "", 
     "id": "" 
     } 
    ] 
} 

Ich habe die entschlüsselten Informationen in einem Listview in meinem Android-App und deshalb habe ich einen Adapter und Listview im Code haben.

Jede Hilfe wird sehr geschätzt :) Vielen Dank im Voraus.

Antwort

0

Dies ist einfach, dass man andere Zeichenfolge wie folgt erhalten -:

JSONArray jsonArray = response.getJSONArray("data"); 

      for (int i=0; i < jsonArray.length();i++){ 
       JSONObject events = jsonArray.getJSONObject(i); 
       String description= events.getString("description"); 
       String end_time= events.getString("end_time"); 
       String start_time= events.getString("start_time"); 

      } 
+1

Omg, ich machte es für mich so kompliziert, Vielen Dank: D – Yznit

+1

Willkommen Mann Coding Happy! – UltimateDevil