2014-02-10 4 views
0

моего массивакак получить доступ к массиву JSon внутри массива из андроида

{ 
    newsitem [ 
       {"headline":"hello","caption":"date", 

        "image":{"photo":"img","thumb":"thumbnail"} 
      } 
      ] 
} 

Я хочу получить доступ к фото и большой палец, используя JSONObject и jsonarray. Я могу получить доступ к заголовку и заголовку.

это код, который я использую для получения заголовка. помогите мне получить фото и большой палец.

JSONObject obj = new JSONObject(retstring); 
       JSONArray ja = obj.getJSONArray("NewsItem"); 

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

        JSONObject jo = (JSONObject) ja.get(i); 


String h=jo.getString("HeadLine"); 

} 
+0

это ваши полные данные JSON? –

ответ

1

image является JSONObject вместо JSONArray, так что вы можете получить photo и thumb значения, как:

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

JSONObject jo = (JSONObject) ja.get(i); 

    String h=jo.getString("HeadLine"); 
    // get image JSONObject from jo 
    JSONObject jsonimage=jo.optJSONObject("image"); 

    // get photo anf thumb values from jsonimage jsobobject 
    String str_photo=jsonimage.optString(photo); 
    ... 
} 
3

Вы можете попробовать образец ниже:

JSONObject new_jo = jo.getJSONObject("image"); 
    String pic = new_jo.getString("photo"); 
    String thumbnail = new_jo.getString("thumb"); 
2

Вы не правы. изображение бирка не JsonArray. Это JsonObject. Так что используйте этот.

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

    JSONObject jo = (JSONObject) ja.get(i); 

    String headline =jo.getString("HeadLine"); 

    JSONObject jsonimage=jo.optJSONObject("image"); 


    String str_photo=jsonimage.optString("photo"); 

} 
0
Follow these steps in order to parse the json 
1) Create JSONObject for getting the result string. 
2) Create JSONArray for getting array from "newsitem" tag 
3) Create JSONObject for 
    3.1) headline tag 
    3.2) caption tag 
    3.3) image tag 
4) Create again JSONObject for 
    4.1) photo tag 
    4.2) thumb tag 


Now how to achieve this 

JSONObject jsonObj=new JSONObject(jsonstring); 
JSONArray newsItemObj=jsonObj.getJSONArray("newitem"); 

for(int i=0;i<newsItemObj.length();i++) 
{ 
    String headline=newsItemObj.getString("headline"); 
    String caption=newsItemObj.getString("caption"); 

    JSONObject imageObject=newsItemObj.getJSONObject("image"); 

    String photo=imageObject.getString("photo"); 
    String thumb=imageObject.getString("thumb"); 

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