2013-10-05 3 views
10

Как я могу разобрать в Android массив строк Json и сохранить его в массиве java string (например: xy [])?Android parse Json array of Strings

Моих Json быть разобран:

[ 
    { 
    "streets": [ "street1", "street2", "street3",... ], 
    } 
] 

Позже в моем коде я хочу заселен с этим массивом прядильщиком пункт в моем макете. Все, что я пробовал, только с одним уличным предметом, указанным в прядильщике.

+0

Вы имеете в виду массив массива строк? –

+0

Пожалуйста, разместите свой полный код. –

+0

На самом деле его массив объектов массивов строк – meda

ответ

31

Чтобы разобрать

try { 

    JSONArray jr = new JSONArray("Your json string"); 
    JSONObject jb = (JSONObject)jr.getJSONObject(0); 
    JSONArray st = jb.getJSONArray("streets"); 
    for(int i=0;i<st.length();i++) 
     { 
     String street = st.getString(i); 
     Log.i("..........",""+street); 
     // loop and add it to array or arraylist 
     } 
}catch(Exception e) 
{ 
     e.printStackTrace(); 
} 

После разбора и добавить его в массив. Используйте то же самое, чтобы заполнить свой счетчик.

[ представляет JSon узлу массива

{ представляет объект JSON узел

+0

Не работает, почему он принят? – Hesam

+0

@ Хесем, тогда вы делаете это неправильно не потому, что код разбора отправлен неправильно – Raghunandan

+0

@ Хесем работает отлично 100 %% – Raghunandan

3

Попробуйте это ..

JSONArray arr = new JSONArray(json string); 

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

      JSONObject c = arr.getJSONObject(i);   
      JSONArray ar_in = c.getJSONArray("streets"); 

     for(int j = 0; j < ar_in.length(); j++){  
      Log.v("result--", ar_in.getString(j)); 
     } 
    } 
2

Нам нужно сделать объект JSON первым. Например,

JSONObject jsonObject = new JSONObject(resp); 
// resp is your JSON string 
JSONArray arr = jsonObject.getJSONArray("results"); 
Log.i(LOG, "arr length = " + arr.length()); 
for(int i=0;i<arr.length();i++) 
{... 

arr может содержать другие объекты JSON или массив JSON. Как конвертировать JSON зависит от String. Существует полный пример с некоторыми пояснениями о JSON String к массиву JSON можно найти по адресу http://www.hemelix.com/JSONHandling