2012-02-21 19 views
6

Próbuję uzyskać listę dostępnych numerach od następującego obiektu JSON, przy użyciu klasy z org.jsonJak mogę wyciągnąć tablicę ciągów znaków z tego obiektu Json?

{ 
     "response":true, 
     "state":1, 
     "data": 
     { 
      "CALLERID":"81101099", 
      "numbers": 
       [ 
         "21344111","21772917", 
         "28511113","29274472", 
         "29843999","29845591", 
         "30870001","30870089", 
         "30870090","30870091" 
       ] 
     } 
    } 

Moje pierwsze kroki, po odebraniu obiektu json z usługi internetowej:

jsonObj = new JSONObject(response); 
jsonData = jsonObj.optJSONObject("data"); 

Teraz, jak zapisać tablicę znaków liczb?

Odpowiedz

24

zastosowanie:

jsonObj = new JSONObject(response); 
jsonData = jsonObj.optJSONObject("data"); 
JSONArray arrJson = jsonData.getJSONArray("numbers"); 
String[] arr = new String[arrJson.length()]; 
for(int i = 0; i < arrJson.length(); i++) 
    arr[i] = arrJson.getString(i); 
+1

+1 do dokładnego przykład. Łyżka paszowa :) –

+1

Z wyjątkiem faktu, że nie ma metody w JSONArray o nazwie getLength (czy miałeś na myśli długość()?) To było wspaniałe - dzięki :) – CodePrimate

+0

Mam edytowaną odpowiedź. – jeet

0

Zakładając, że starają się go w javascript bloku, spróbuj coś takiego

var arrNumber = jsonData.numbers;

1

trzeba użyć JSONArray wyciągnąć dane w tablicy

JSONObject jObj= new JSONObject(your_json_response); 
JSONArray array = jObj.getJSONArray("data"); 
0

Mój kod to na uzyskanie "dane":

public void jsonParserArray(String json) { 

     String [] resultsNumbers = new String[100]; 

     try { 
      JSONObject jsonObjectGetData = new JSONObject(json); 
      JSONObject jsonObjectGetNumbers = jsonObjectGetData.optJSONObject("results"); 
      JSONArray jsonArray = jsonObjectGetNumbers.getJSONArray("numbers"); 
      for (int i = 0; i < jsonArray.length(); i++) { 
       resultsNumbers[i] = jsonArray.getString(i); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
      Log.e(LOG_TAG, e.toString()); 
     } 
    } 
Powiązane problemy