nana4ever
nana4ever
采纳率95.8%
2012-11-09 05:33 阅读 2.3k

Android中关于JSON paser的问题

在android Http有一个很长的字符串:

{"movies":[
{"movieId":"fmen71229238","eTitle":"Mission: Impossible - Ghost Protocol","cTitle":"不可能的任務:鬼影行動","imageUrl":"http://test.mobibon.com.tw/MovieGoTest/Pics/pl_fmen7122923814_s.jpg","releaseDate":"2011/12/15","saleType":"0"},
{"movieId":"fstw79905171","eTitle":"Seediq Bale","cTitle":"賽德克.巴萊(上)太陽旗","imageUrl":"http://test.mobibon.com.tw/MovieGoTest/Pics/pl_fstw7990517114_s.jpg","releaseDate":"2011/9/9","saleType":"0"},
{"movieId":"fytw91390391","eTitle":"You Are the Apple of My Eye","cTitle":"那些年,我們一起追的女孩","imageUrl":"http://test.mobibon.com.tw/MovieGoTest/Pics/pl_fytw9139039102_s.jpg","releaseDate":"2011/8/19","saleType":"0"}
]}

字符串是JSON格式,我希望它在不同的数组中排序,然后显示在Listview中,我使用以下的JSON parser。retSrc是一个长字符串。

JSONArray result = new JSONArray(retSrc);
        for(int i = 0;i < result.length(); i++)
        {
        JSONObject stock_data = result.getJSONObject(i);
        Log.i("bird","eTitle:"+stock_data.getString("eTitle"));
        }
        } finally {
        }
        }

Log文件Log.i("bird","eTitle:"+stock_data.getString("eTitle"));什么都没记录,我希望log文件是这样:Mission: Impossible - Ghost Protocol Seediq Bale.....etc
怎么在Listview中显示呢?Log文件是什么样的呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    clcurie_11 clcurie_11 2012-12-12 02:44

    你也可以使用Gson,给API提供Json解析。这个很简单,你只需要创建你想用的对象的类型。

    点赞 评论 复制链接分享
  • csh_34 csh_34 2012-11-09 09:30

    显然,顶级的json 文件不应该是JSONArray而是JSONObject.

    添加以下的代码:

    JSONObject obj = new JSONOBject(retSrc);
    JSONArray movieArray = obj.getJSONArray("movies");
    //然后加上你的代码

    点赞 评论 复制链接分享

相关推荐