2012-05-04 8 views
0

У меня есть JSONObject с 2 JSONArrays с JSONObjects. Мне интересно, как мне получить доступ к JSONObjects в JSONArray, находящемся в JSONObject? (JSON inception!).JSONArray в JSONObject, как получить?

ПРОЯСНИТЬ (даже я запутаться писать его это)

Я первый получаю JSONObject Этот объект содержит 2 JSONArrays Эти 2 массивы имеют X и Y количество JSONObjects.

Как достичь «самых глубоких» JSONObjects? Как «развернуть» первый JSONObject, чтобы получить первые 2 JSONArrays?

Все советы или рекомендации для публикации?

+0

найти один хороший пример, чтобы начать здесь http://mobileorchard.com/android-app-development-parsing-web-service-response-part-1/ – Akram

ответ

2

Yuo может использовать что-то вроде этого new JSONObject(json).getJSONArray(arrayname1).getJSONObject(positionx).
Здесь json - строка ответа JSON. arrayname1 - это имя вашего первого массива. и poitionx - любая позиция из X JSONObjects.
Аналогичным образом вы можете использовать new JSONObject(json).getJSONArray(arrayname2).getJSONObject(positiony) для другого.

0

Вот пример. Предположим, что у нас есть JSONObject «Space» с двумя массивами: один и два.

    HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost("url"); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       InputStream instream = entity.getContent(); 
       String result= convertStreamToString(instream); 
       JSONObject json=new JSONObject(result); 
       JSONObject resp= (JSONObject) json.get("response");         
       JSONObject Space=resp.getJSONObject("Space"); 
       JSONArray One=Space.getJSONArray("one"); 
       int Length=One.length(); 
       for(int i=0;i<length;i++) 
       { 
        JSONObject item = (JSONObject) items.get(j); 
        String x=item.getString("x); 
        String y=item.getString("y"); 
        System.out.println("x = "+x+" , y = "+y); 
       } 

И таким же образом вы можете работать со вторым массивом.

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