我尝试解析“ 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解析数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)