如果需要解析的是一段 JSON 数组会稍微麻烦一点,我们需要借助 TypeToken 将期望解析成的数据类型传入到 fromJson() 方法中,如下所示:
List<Person> people = gson.fromJson(jsonData, new TypeToken<List<Person>>(){}.getType());基本的用法就是这样,下面就让我们来真正地尝试一下。
这里我们首先准备好需要解析的JSON原始数据: [ {"id":"1","version":"1.5","name":"Apple"}, {"id":"2","version":"1.6","name":"WillFlow"}, {"id":"3","version":"1.7","name":"WGH"} ] 然后新建一个AppBean类,用于数据规范的定义: /** * Created by : WGH. */ public class AppBean { } 然后在该类的任意位置“Alt + Insert”,然后选择“Gson Format”或者使用快捷键“Alt + S”
这是一个包含了id、 name 和 version 这三个字段的数据类,并且成员变量和JSON原始数据的Key值完全相同(这点尤为重要,这是采用GSON解析的必须)。
最后在 MainAcitivyt 中定义这样的方法: private void parseByGSON(String jsonData) { Gson gson = new Gson(); List<AppBean> appList = gson.fromJson(jsonData, new TypeToken<List<AppBean>>() {}.getType()); for (AppBean app : appList) { Log.i(TAG, "id : " + app.getId()); Log.i(TAG, "name : " + app.getName()); Log.i(TAG, "version : " + app.getVersion()); Log.i(TAG, "————————————————————"); } }然后调用输出即可。
编译运行查看Log输出
这样我们就就把 XML 和 JSON 这两种数据格式最常用的几种解析方法都学习完了,在网络数据的解析方面,我们已经成功毕业了。
分享给小伙伴们:
本文标签: JSONObject,GSON,JSON/">JSONObject,GSON,JSON
相关文章
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。
本类最热新闻