2014-11-07 2 views
-2

У меня есть апи вызов, который возвращает этот JSon объект:Android - получить данные из JSON

{ 
    "elenco": [ 
     "folder 1", 
     "folder 2", 
     "folder 3" 
    ], 
    "codice": "123456789" 
} 

и это мой кусок кода, получить результат:

protected void onPostExecute(JSONObject result) { 

     // Close progress dialog 
     Dialog.dismiss(); 

     JSONObject jobj = null; 
     String codice_utente = null; 
     JSONArray elenco_cartelle = null; 

     try { 

      jobj = new JSONObject(String.valueOf(result)); 

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

     //Provo a recuperare i campi json 
     try { 

      codice_utente = jobj.getString("codice"); 
      elenco_cartelle = jobj.getJSONArray("elenco"); 

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

     //This should fetch the elenco array 
     for (int i = 0; i < elenco_cartelle.length(); i++) { 

      JSONObject childJSONObject = null; 

      try { 

       childJSONObject = elenco_cartelle.getJSONObject(i); 

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

      //Can't use getString here... 

     } 



    } 

Как я могу принести elenco часть? У меня нет ключа для использования, так как я могу добавить каждую строку в ArrayList? Я пытался использовать для, но я понятия не имею о том, как получать строки

+0

'// Невозможно использовать GetString здесь ... 'почему этот комментарий? – njzk2

+0

Потому что я стараюсь, чтобы я использовал этот метод, как я сделал для 'codice' –

ответ

0

Использование JSONArray.getString()http://developer.android.com/reference/org/json/JSONArray.html#getString(int)

for (int i = 0; i < elenco_cartelle.length(); i++) { 

      String content = null; 

      try { 

       content = elenco_cartelle.getString(i); 

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

     //Can't use getString here... 

    } 

Теперь у вас есть контент на content

+0

Спасибо Педро, решение было намного проще, чем я думал! Я соглашусь как можно скорее –

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