JSON

关于JSONObject与GSON解析JSON数据详解(2)

字号+ 作者:H5之家 来源:H5之家 2017-10-02 10:02 我要评论( )

如果需要解析的是一段 JSON 数组会稍微麻烦一点,我们需要借助 TypeToken 将期望解析成的数据类型传入到 fromJson() 方法中,如下所示: ListPerson people = gson.fromJson(jsonData, new TypeTokenListPerson(){}

如果需要解析的是一段 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”

然后会出现这样的界面,然后把我们刚才的JSON原始数据粘贴进去后点击OK:

继续点击OK,你会发现此时的AppBean变成了这个样子: /** * Created by : WGH. */ public class AppBean { /** * id : 1 * version : 1.5 * name : Apple */ private String id; private String version; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

这是一个包含了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

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

  • 本类最热新闻

  •  

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • google Gson学习笔记及与json

      google Gson学习笔记及与json

      2017-10-02 16:05

    • JSON基础学习

      JSON基础学习

      2017-10-01 17:06

    • Json.Net学习 异常处理

      Json.Net学习 异常处理

      2017-10-01 14:02

    • Json详解与使用

      Json详解与使用

      2017-10-01 13:05

    网友点评
    a