2016-10-29 2 views
-3

У меня есть ответ JSON с REST API, как это:получить ArrayList от Json

{ 
    "data": { 
    "leagues": [ 
     { 
     "identifier": "8e7fa444c4b60383727fb61fcc6aa387", 
     "league_slug": "bundesliga", 
     "name": "Bundesliga", 
     "nation": "Germany", 
     "level": "1", 
     "federation": "UEFA" 
     }, 
     { 
     "identifier": "726a53a8c50d6c7a66fe0ab16bdf9bb1", 
     "league_slug": "premier-league", 
     "name": "Premier League", 
     "nation": "England", 
     "level": "1", 
     "federation": "UEFA" 
     }, 
     { 
     "identifier": "bc425f51d5ee924580c35c38da138de8", 
     "league_slug": "serie-a", 
     "name": "Serie A", 
     "nation": "Italy", 
     "level": "1", 
     "federation": "UEFA" 
     } 
    ], 
    "statusCode": "200", 
    "errorCode": "0", 
    "statusReason": "OK" 
    } 
} 

Я хочу, чтобы получить список лиг от этого Json теперь у меня есть «данные» HashMap, но я не могу получить массив хэш-карт Лиг. Я не хочу, чтобы преобразовать его в любой тип данных, я только хочу ArrayList<Map<String, String>>

, пожалуйста, помогите мне, чтобы получить эту информацию, используя Gson или JSONObject

+1

проблема «данные» HashMap является 'Map ' так что я не могу получить значение (ArrayList), как это объект –

ответ

2

Вы можете разобрать эту строку, используя

JSONObject json = new JSONObject(str); 

Когда вы можете получить любые данные, которые вы хотите:

JSONObject data = json.getJSONObject("data"); 
JSONArray leagues = data.getJSONArray("leagues"); 

повторите так:

for (int i = 0; i < leagues.length(); i++) { 
    JSONObject childJSONObject = leagues.getJSONObject(i); 
} 
+0

, как я могу получить доступ к каскадным объектам, таким как «лиги»? –

+0

@ShehabElDin, готовый – Vyacheslav