-1

AndroidでのJsonデータの解析に関するリンクを確認しましたが、ほとんど理解できませんでした。サーバーから次のJSON文字列を取得しています。

それを解析して、Androidアプリにリストビューとして表示する必要があります。ガイダンスまたはコードスニペット。また、私のJason文字列には画像のデータが含まれているので、リストビューで正しく表示できますか?

私のJSON文字列は次のとおりです。

{"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"}]}} 
4

2 に答える 2

1

すべてのフィールドの配列リストを作成し、以下の関数を記述してjsonの上で解析すると、問題が解決します。

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();
    }
}
于 2012-11-30T09:22:31.343 に答える
0

このチュートリアルhttp://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.htmlをお読みください。

Googleのgsonライブラリを使用してjsonを解析できます。json値を格納するJavaクラスを作成して、そのクラスrefをgsonライブラリに渡す必要があります。簡単な方法があります。

このドキュメントをチェック

于 2012-11-30T09:26:17.933 に答える