2 nana4ever nana4ever 于 2012.11.09 13:33 提问

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 10:44
已采纳

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

nana4ever
nana4ever 谢谢你的回答,虽然问题已经解决了,但是你提供的这个方法也很好。
5 年多之前 回复
csh_34
csh_34   2012.11.09 17:30

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

添加以下的代码:

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
面试问题之:JSON是什么?
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSO
安卓中的JSON解析
JSON指的是JavaScript对象表示法(JavaScript Object Notation),它是一种轻量级的文本数据交换格式,类似于XML,但是比XML更小、更快、更易解析。 JSON是基于JavaScript的一个子集,它使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。这些特性都使得JSON成为理想的数据交换语言,使其易于人们阅读和编写,同时也易于机器解析和生成。
Android中Json的解析和构建
Json作为一种轻量级的数据交换格式,在Android中的使用无需多说,除了用于网络数据传输,我们还偶尔在App代码中拿它做配置文件,相当于XML。 今天对Android中的几种Json工具作一个简单的用法上的记录。 老规矩,在节目开始之前,先来一个搞笑段子。 女神要买电脑,我疯狂地帮她查参数,比价格,把优势劣势分析了一遍。最后,她一句:就买那个粉色的吧。 男闺蜜要相亲,我疯狂地帮
关于在Android中显示图片的问题
关于在Android中显示图片的问题!
Json常见的问题
1.Jackson将json字符串转成List    Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起来还是Jackson比较快一点     Jackson处理一般的JavaBean和Json之间的转换只要使用ObjectMapper 对象的readValue和writeValueAsStr
Gson库和Android自带JSON解析对转义字符的处理存在不同
遇到一坑,以前用的是Gson库,现在改为Android自带的JSON解析,后端收到数据有时会解析失败,查找原因,发现Gson库和Android自带JSON解析对转义字符的处理存在稍许的不同。举例如下:String s1 = "https://blog.csdn.net/robotech_er/article/details/40260377"; String s2 = "host is \"www.
json和ajax简单面试题
JSON 的了解? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小 如:{"age":"12", "name":"back"} JSON字符串转换为JSON对象: var obj =eval('('+ str +')'); var obj = str.pa
JavaScript,JQuery,Ajax常见问题总结
三、JavaScript/JQuery/Ajax部分 1、请写一段Javascript程序,对以下程序的用户输入日期的有效性进行判断,如果格式错误就提示用户。在程序的恰当位置注明怎样调用你写的程序。日期格式为:年年年年月月日日小时,例如2003010812。 NewPage1   查询日期(yyyymmddhh):   从   到
android 客户端无法解析php服务端返回的json
android 客户端无法解析php服务端返回的json这个东西纠结了几个小时。。找到解决方法。。 http://blog.163.com/www_iloveyou_com/blog/static/211658372201401443815323/ … 很简单的一个json字符串: {“statu”:”1”,”results”:”true”},明显看着是没什么格式错误的,然后用各种json格
android日志记录
android中关于日志的记录,对android开发中关于日志log的问题有帮助。