2014-01-04 2 views
0

меня JSONObject и я хочу получить 8 объект A, B, C ... моя JSON строка:Android JSONObject Как получить несколько JSONObject одного

{ "Спички": { "A": [{» team1 ":" Россия "," team2 ":" Франция "," время ":" 00:00:00 "," time0_90 ":" 20 "," оценка ":" 0: 0 "," стадион ":" Маракана " "арбитр": "исх", "группа": "А"}, { "team1": "Португалия", "team2": "Гондурас", "время": "00:00:00"," time0_90 ":" 60 "," score ":" 0: 2 "," Stadium ":" "," referee ":" "," group ":" A "}]}," success ": 1} {" матчи ": {" B ": [{" team1 ":" Бразилия», "team2": "Испания", "время": "00:00:00", "time0_90": "3", "оценка": «1: 0», «стадион»: «», «рефери»: «», «группа»: «B»}]}, «успех»: 1} {«Соответствует»: {"C": []} , "успех": 0} { "совпадения": { "D": []}, "успех": 0} { "совпадения": { "Е": []}, "успех": 0} { "совпадения ": {" F ": []}," успех ": 0} {" совпадения ": {" G ": []}," успех ": 0} {" совпадения ": {" Н ": []} , "успех": 0}

 JSONObject jsonResponse = new JSONObject(jsonResult); 
     JSONArray jsonMathes = jsonResponse.optJSONArray("matches"); 
    // ???????? 
+0

Можете ли вы опубликовать фактический ответ JSon вы получаете. выставляемый фрагмент имеет несколько корневых элементов –

+0

jsonResponse = {"success": 1, "Matches": {"A": [{"time0_90": "20", "time": "00:00:00", " рефери ":" ref "," Stadium ":" Maracana "," score ":" 0: 0 "," group ":" A "," team1 ":" Russia "," team2 ":" France "}, {«time0_90»: «60», «время»: «00:00:00», «рефери»: «», «стадион»: «», «оценка»: «0: 2», «группа»: А», "team1": "Португалия", "team2": "Гондурас"}]}} – MKDenys

ответ

0

Ваша структура ответ:

JSONObject 
key:value 
JSONObject (key: "Matches") 
    JSONArray (key: "A") 
     JSONObject, 
      key:value, 
      key:value, 
      etc... 
     JSONObject 

Чтобы получить доступ к A, выполните следующие действия:

  1. Создать JSONObject из вашего ответа:

    JSONObject jsonResponseObj = new JSONObject(jsonResponse); 
    
  2. Получить JSONObject для ключа «Матчи»

    JSONObject jsonMatches = jsonResponseObj.getJSONObject("Matches"); 
    
  3. Этот объект содержит JSONArray для ключа «А», так что давайте, что массив:

    JSONArray jsonArrayA = jsonMatches.optJSONArray("A"); 
    
  4. Для вашего ответа, у вас есть 2 JSONObjects в этом массиве, поэтому первое, давайте объявить и инициализировать их:

    //two JSONObjects 
    JSONObject[] jsonObjects = new JSONObject[jsonArrayA.length()]; 
    
    //go through the array of JSONObjects and fetch them 
    for (int i=0; i < jsonObjects.length; i++) { 
        jsonObjects[i] = jsonArrayA.getJSONObject(i); 
    } 
    
    • Теперь у вас есть A, как JSONArray в jsonArrayA
    • A содержит 2 JSONObjects, и вы их в jsonObjects [0] и josnObjects [1]
    • Если вы хотите, чтобы получить содержимое этих jsonObjects, просто взять его с помощью клавиш, например, .:

      String team1Obj1 = jsonObjects[0].getString("team1"); // will contain 'Russia' 
      String team2Obj2 = jsonObjects[1].getString("team2"); // will contain 'Honduras' 
      
      String stadium1 = jsonObjects[0].getString("stadium"); // will contain 'Maracana' 
      

      т.д.

Смежные вопросы