我的数组是
{
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 :(得分:3)
您可以尝试以下示例:
JSONObject new_jo = jo.getJSONObject("image");
String pic = new_jo.getString("photo");
String thumbnail = new_jo.getString("thumb");
答案 1 :(得分: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");
}
答案 2 :(得分: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 :(得分: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");
}