如何从URL中解析Json数据?其中包含多个数组

时间:2013-12-21 08:16:48

标签: android json parsing

我遇到了在this链接后解析JSON数据的问题..

那边有解析数据图片说明..

并且我也在堆栈中对此进行了评价,这是一个有相同问题但没有正确答案的人。 How to Parse JSONarray inside JSONarray in android?How to display Image from URL?

我们可以说只是延伸上述问题。

这不是重复,那家伙也是同样的问题没有答案..

我有如下数据

{
"request": "ok",
"query": {
    "result": [
        {
            "site": [
                {
                    "latest": [
                        {
                            "id": "2eaQy8Ow",
                            "data": "1/1/2014"
                        }
                    ]
                }
            ],
            "flag": [
                "http://www.simplydecoded.com/wp-content/uploads/2013/02/Telangana2.jpg"
            ]
        }
    ]
   }
  }

我使用下面的代码进行解析

JSONArray json_query_flag = c.getJSONArray("flag");


JSONArray json_query_site=c.getJSONArray("site");
System.out.println("looping json_query_site");
for (int j = 0; j < c.length(); j++) {
System.out.println("looping json_query_site[" + j +"]" + "json_query_site.length() -->" + json_query_site.length());

if (j <json_query_site.length()) {

HashMap<String, String> map1 = new HashMap<String, String>();
JSONObject sd = json_query_site.getJSONObject(j);

// get latestoffers
JSONArray json_latest = sd.getJSONArray("latest");
System.out.println(json_latest.toString());

for (int k = 0; k < json_latest.length(); k++) {

HashMap<String, String> map2 = new HashMap<String, String>();
JSONObject e = json_latest.getJSONObject(k);

我的问题是我没有得到最新的标志.. 可能正在解析问题..

2 个答案:

答案 0 :(得分:1)

Hellow man感谢你理解这个问题,请关注this帖子直到你的网站和最新的..

它解决了我收到文字..但图像问题我认为你有标志.. 为此,您需要更改Listviewadapter.java文件。这样就会出现图像

更改此内容

String strflag = resultp.get(Mainactivity.IMAGES);
    if(strflag != null)
        imageLoader.DisplayImage(strflag, flag);
    else
        imageLoader.DisplayImage("http://www.butterentals.com/graphics/no_image.jpg", flag);

这样我就可以完成了。

答案 1 :(得分:1)

试试这个..

JSONObject JObj = new JSONObject(response);
JSONObject query = JObj.getJSONObject("query");
JSONArray result = query.getJSONArray("result");
for (int i = 0; i < result.length(); i++) {
        JSONObject jobj = result.getJSONObject(i);
        JSONArray site = jobj.getJSONArray("site");
            for (int j = 0; j < site.length(); j++) {
                JSONObject sitobj = site.getJSONObject(j);
                JSONArray latest = sitobj.getJSONArray("latest");
                    for (int k = 0; k < latest.length(); k++) {
                         JSONObject lateobj = latest.getJSONObject(k);
                         System.out.println("id : "+lateobj.getString("id"));
                    }
            }
        JSONArray flag = jobj.getJSONArray("flag");
        for (int l = 0; l < flag.length(); l++) {
            System.out.println("urls : "+flag.getString(l));
        }
}