解析JSON字符串在Android中获得FRM服务器 [英] Parsing JSON String obtained frm server in Android

查看:92
本文介绍了解析JSON字符串在Android中获得FRM服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经通过解析在Android JSON数据链接了,但不明白pretty得多。
我从我的服务器得到以下JSON字符串。

我需要解析它,present它作为我的Andr​​oid应用程序列表视图。任何指导或code段?
此外,由于我的贾森串有图像数据,将列表视图能够正确显示呢?

我的JSON字符串是:

  {成果:{结果:[{年:2012,称号:神奇的蜘蛛侠,细节:HTTP :\\ / \\ / www.imdb.com \\ /标题\\ / tt0948470,导演:马克Webb\",\"rating\":\"7.3\",\"cover\":\"http:\\/\\/i.media-imdb.com\\/images\\/SF1f0a42ee1aa08d477a576fbbf7562eed\\/realm\\/feature.gif\"},{年:2014,称号:神奇的蜘蛛侠2,细节:HTTP:\\ / \\ / www.imdb.com \\ /标题\\ / tt0948470,导演: 马克Webb\",\"rating\":\"7.3\",\"cover\":\"http:\\/\\/ia.media-imdb.com\\/images\\/M\\/MV5BMzk3MTE5MDU5NV5BMl5BanBnXkFtZTYwMjY3NTY3._V1._SX54_CR0,0,54,74_.jpg\"},{\"year\":\"2002\",\"title\":\"Spider-Man\",\"details\":\"http:\\/\\/www.imdb.com\\/title\\/tt0948470\",\"director\":\"Sam Raimi\",\"rating\":\"6.3\",\"cover\":\"http:\\/\\/ia.media-imdb.com\\/images\\/M\\/MV5BODUwMDc5Mzc5M15BMl5BanBnXkFtZTcwNDgzOTY0MQ@@._V1._SX54_CR0,0,54,74_.jpg\"},{年:2007,称号:蜘蛛侠3,细节:HTTP:\\ / \\ / www.imdb.com \\ /标题\\ / tt1872181,导演:山姆Raimi\",\"rating\":\"7.5\",\"cover\":\"http:\\/\\/ia.media-imdb.com\\/images\\/M\\/MV5BMjE1ODcyODYxMl5BMl5BanBnXkFtZTcwNjA1NDE3MQ@@._V1._SX54_CR0,0,54,74_.jpg\"},{年:2004,称号:蜘蛛侠2,细节:HTTP:\\ / \\ / www.imdb.com \\ /标题\\ / tt1872181,导演:山姆Raimi\",\"rating\":\"6.8\",\"cover\":\"http:\\/\\/i.media-imdb.com\\/images\\/SFa26455c07afc3c94f52e95de50d5d814\\/realm\\/tv_series.gif\"}]}}


解决方案

请所有字段的ArrayList和下面写下函数来分析上述JSON,它会解决你的问题。

 的ArrayList<串GT;今年,标题,细节,导演,评级覆盖;
//对于解析登录响应从服务器
公共无效mParseResponse()抛出的UnknownHostException {    年=新的ArrayList<串GT;();
    标题=新的ArrayList<串GT;();
    细节=新的ArrayList<串GT;();
    主任=新的ArrayList<串GT;();
    等级=新的ArrayList<串GT;();
    盖=新的ArrayList<串GT;();    尝试{
        JSONObject的jObject =新的JSONObject(EntityUtils.toString(实体));
        JSONObject的jsonobjresults = jObject.getJSONObject(结果);
        JSONArray jsonarrayresult = jsonobjresults.getJSONArray(结果);
        的for(int i = 0; I< jsonarrayresult.length();我++){
            JSONObject的mJsonObj = jsonarrayresult.getJSONObject(I)
            year.add(mJsonObj.getString(年));
            title.add(mJsonObj.getString(标题));
            details.add(mJsonObj.getString(详细信息));
            director.add(mJsonObj.getString(董事));
            rating.add(mJsonObj.getString(等级));
            cover.add(mJsonObj.getString(覆盖));
        }
    }赶上(JSONException E){
        // TODO自动生成catch块
        e.printStackTrace();
    }
}

I had gone through a link on parsing Json data on Android, but didnt understand pretty much. I am getting the following JSON String from my server.

I need to parse it and present it as a listview in my android app. ANy guidance or code snippet.? Also since my Jason string has data for images, will the listview be able to display it properly?

My JSON String is:

{"results":{"result":[{"year":"2012","title":"The Amazing Spider-Man","details":"http:\/\/www.imdb.com\/title\/tt0948470","director":"Marc Webb","rating":"7.3","cover":"http:\/\/i.media-imdb.com\/images\/SF1f0a42ee1aa08d477a576fbbf7562eed\/realm\/feature.gif"},

{"year":"2014","title":"The Amazing Spider-Man 2","details":"http:\/\/www.imdb.com\/title\/tt0948470","director":"Marc Webb","rating":"7.3","cover":"http:\/\/ia.media-imdb.com\/images\/M\/MV5BMzk3MTE5MDU5NV5BMl5BanBnXkFtZTYwMjY3NTY3._V1._SX54_CR0,0,54,74_.jpg"},

{"year":"2002","title":"Spider-Man","details":"http:\/\/www.imdb.com\/title\/tt0948470","director":"Sam Raimi","rating":"6.3","cover":"http:\/\/ia.media-imdb.com\/images\/M\/MV5BODUwMDc5Mzc5M15BMl5BanBnXkFtZTcwNDgzOTY0MQ@@._V1._SX54_CR0,0,54,74_.jpg"},

{"year":"2007","title":"Spider-Man 3","details":"http:\/\/www.imdb.com\/title\/tt1872181","director":"Sam Raimi","rating":"7.5","cover":"http:\/\/ia.media-imdb.com\/images\/M\/MV5BMjE1ODcyODYxMl5BMl5BanBnXkFtZTcwNjA1NDE3MQ@@._V1._SX54_CR0,0,54,74_.jpg"},

{"year":"2004","title":"Spider-Man 2","details":"http:\/\/www.imdb.com\/title\/tt1872181","director":"Sam Raimi","rating":"6.8","cover":"http:\/\/i.media-imdb.com\/images\/SFa26455c07afc3c94f52e95de50d5d814\/realm\/tv_series.gif"}]}} 

解决方案

Make Arraylist of All Fields and Write below function to parse above json, it will solve your problem.

ArrayList<String> year, title, details, director, rating, cover;
// For Parse Login Response From Server
public void mParseResponse() throws UnknownHostException { 

    year=new ArrayList<String>();
    title=new ArrayList<String>();
    details=new ArrayList<String>();
    director=new ArrayList<String>();
    rating=new ArrayList<String>();
    cover=new ArrayList<String>();

    try {
        JSONObject jObject = new JSONObject(EntityUtils.toString(entity));
        JSONObject jsonobjresults = jObject.getJSONObject("results");
        JSONArray jsonarrayresult = jsonobjresults.getJSONArray("result");
        for(int i=0;i<jsonarrayresult.length(); i++){
            JSONObject mJsonObj = jsonarrayresult.getJSONObject(i);
            year.add(mJsonObj.getString("year"));
            title.add(mJsonObj.getString("title"));
            details.add(mJsonObj.getString("details"));
            director.add(mJsonObj.getString("director"));
            rating.add(mJsonObj.getString("rating"));
            cover.add(mJsonObj.getString("cover"));
        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

这篇关于解析JSON字符串在Android中获得FRM服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆