java-在Android中使用Volley从JSON解析数据

java-在Android中使用Volley从JSON解析数据,第1张

概述我尝试解析“https://api.instagram.com/v1/media/popular?client_id=”中的JSON数据              clientId;或任何其他网址,以多种方式!使用了几个JSONParsers,教程,读者..一切,但是仍然无法从这些url中获取任何信息.现在,我正在使用Volley库,但仍然无法正常工作,

我尝试解析“ https://api.instagram.com/v1/media/popular?client_id=”中的JsON数据
              clIEntID;或任何其他网址,以多种方式!使用了几个JsONParsers,教程,读者..一切,但是仍然无法从这些url中获取任何信息.现在,我正在使用Volley库,但仍然无法正常工作,这是我的代码以及您需要的一切,如果有人有任何想法,请分享.

public  voID LoadPictures()   {    mRequestQueue =  Volley.newRequestQueue(this);    mRequestQueue.add(new JsonObjectRequest(urlinst, null,            new Listener<JsONObject>() {                @OverrIDe                public voID onResponse(JsONObject response) {                    try {                        parseJsON(response);                    } catch (JsONException e) {                        // Todo auto-generated catch block                        e.printstacktrace();                    }                }            }, new ErrorListener() {        @OverrIDe        public voID one rrorResponse(VolleyError error) {            error.printstacktrace();        }    }));

这是我的parseJsON方法:

 private  voID parseJsON(JsONObject Json) throws JsONException{           // JsONObject value = Json.getJsONObject("value"); JsONArray items = Json.getJsONArray("data"); for(int i=0;i<items.length();i++) {     JsONObject c=(JsONObject) items.get(i);         JsONObject user = c.getJsONObject("user");     String name= user.getString("username");     JsONObject img=c.getJsONObject("images");         JsONObject thum=img.getJsONObject("thumbnail");         String urlOfPic = thum.getString("url");           PhotoInst photoData=new PhotoInst (i, urlOfPic, name);         photos.add(photoData);     }

这是我应该得到的JsON数据:

 "data": [{    "type": "image",    "users_in_photo": [],    "filter": "Gotham",    "Tags": [],    "comments": { ... },    "caption": {        "created_time": "1296656006",        "text": "ãã¼ãâ¥ã¢ããªå§ãã¦ä½¿ã£ã¦ã¿ãã(^^)",        "from": {            "username": "cocomiin",            "full_name": "",            "type": "user",            "ID": "1127272"        },        "ID": "26329105"    },    "likes": {        "count": 35,        "data": [{            "username": "mikeyk",            "full_name": "Kevin S",            "ID": "4",            "profile_picture": "..."        }, {...subset of likers...}]    },    "link": "http://instagr.am/p/BV5v_/",    "user": {        "username": "cocomiin",        "full_name": "Cocomiin",        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1127272_75sq_1296145633.jpg",        "ID": "1127272"    },    "created_time": "1296655883",    "images": {        "low_resolution": {            "url": "http://distillery.s3.amazonaws.com/media/2011/02/01/34d027f155204a1f98dde38649a752ad_6.jpg",            "wIDth": 306,            "height": 306        },        "thumbnail": {            "url": "http://distillery.s3.amazonaws.com/media/2011/02/01/34d027f155204a1f98dde38649a752ad_5.jpg",            "wIDth": 150,            "height": 150        },        "standard_resolution": {            "url": "http://distillery.s3.amazonaws.com/media/2011/02/01/34d027f155204a1f98dde38649a752ad_7.jpg",            "wIDth": 612,            "height": 612        }    },    "ID": "22518783",    "location": null},

当我尝试放入随机Toast来查看问题出在哪里时,我可以看到我的方法LoadPictures中的onResponse根本没有被调用?我在哪里失败?我只是监督一些小事情还是其他事情吗?

解决方法:

@Mate-从Json中可以看到,您正在获取JsonArray,即“数据”.因此,将您的侦听器更改为Listener< JsONArray>. whihc确保它返回JsONArray对象.结果,您的onResponse现在将变为

@OverrIDepublic voID onResponse(JsONArray response) {try {         parseJsON(response);    } catch (JsONException e) {         // Todo auto-generated catch block         e.printstacktrace();    }}

让我知道这个是否奏效.

总结

以上是内存溢出为你收集整理的java-在Android中使用Volley从JSON解析数据全部内容,希望文章能够帮你解决java-在Android中使用Volley从JSON解析数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存