Gson 是 Google 官方提供的用来在 Java 对象和 JSON 之间进行互相转换的Java类库。
我之前在使用Eclipse开发Android的时候,并没有经常使用Gson,而是使用原生的JSONObject解析,最近转用Android Studio,配合该IDE里面强大的插件,使用Gson很大程度地提高了开发效率。本篇博客将介绍Gson的基本使用方法,配合实际案例体会Gson带来的便捷开发体验。

1、待解析的Json数据

{  "code": 0,  "msg": "轮播会议获取成功",  "records": [    {      "joinNumber": 3,      "id": 10,      "startDateStr": "2016-10-26 09:00 星期三",      "theme": "2016年度海外高层次人群聚会"    },    {      "joinNumber": 3,      "id": 1,      "startDateStr": "2016-10-24 08:00 星期一",      "theme": "2016年度苏州医疗会议"    }  ]}

2、创建对应的JavaBean:MeetingData.java

package com.leohan.gsondemo;import java.util.List;/** * Created by Leo on 16/3/14. */public class MeetingData {    /**     * code : 0     * msg : 轮播会议获取成功     * records : [{"joinNumber":3,"id":10,"startDateStr":"2016-10-26 09:00 星期三","theme":"2016年度海外高层次人群聚会"},{"joinNumber":3,"id":1,"startDateStr":"2016-10-24 08:00 星期一","theme":"2016年度苏州医疗会议"}]     */    private int code;    private String msg;    /**     * joinNumber : 3     * id : 10     * startDateStr : 2016-10-26 09:00 星期三     * theme : 2016年度海外高层次人群聚会     */    private List records;    public void setCode(int code) {        this.code = code;    }    public void setMsg(String msg) {        this.msg = msg;    }    public void setRecords(List records) {        this.records = records;    }    public int getCode() {        return code;    }    public String getMsg() {        return msg;    }    public List getRecords() {        return records;    }    public static class RecordsEntity {        private int joinNumber;        private int id;        private String startDateStr;        private String theme;        public void setJoinNumber(int joinNumber) {            this.joinNumber = joinNumber;        }        public void setId(int id) {            this.id = id;        }        public void setStartDateStr(String startDateStr) {            this.startDateStr = startDateStr;        }        public void setTheme(String theme) {            this.theme = theme;        }        public int getJoinNumber() {            return joinNumber;        }        public int getId() {            return id;        }        public String getStartDateStr() {            return startDateStr;        }        public String getTheme() {            return theme;        }    }}

首先分析一下要解析的Json数据,它包含了一个字段名为”records”的JsonArray。

由此,我们生成该Json数据对应的JavaBean,并在里面创建了records数组对应的内部类RecordsEntity。

3、使用Gson解析Json数据

 Gson gson = new Gson();        MeetingData meetingData = gson.fromJson(jsonStr, MeetingData.class);        List.RecordsEntity> records = meetingData.getRecords();

运行程序,打印records对象:

至此就已经完成了Json对象的解析。Gson的其它用法,如处理泛型等就不展开阐述了。

4、使用GsonFormat插件加速开发
在第二步里,新建了一个JavaBean对应于待解析的Json数据。有没有直接辅助生成JavaBean的插件呢?Introducing GsonFormat

那么,GsonFormat插件如何使用呢?

  • Preferences –> plugins –>搜索GsonFormat安装
  • 安装完以后新建一个JavaBean,如图所示操作:
  • 在弹出的界面中填入要解析的Json数据


    点击OK,GsonFormat就可以自动帮我们创建好这个JavaBean了。

源码点击下载

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android实现语音数据实时采集、播放
  5. 传智播客—Android(三) 数据存储之二 SharedPreferences
  6. android开发系列之数据存储
  7. Android之RxAndroid2、RxJava2的zip应用场景及示例
  8. Modbus在Android上的应用之Modbus RTU Master
  9. 在android中使用SQLite数据库

随机推荐

  1. Android资源管理框架(Asset Manager)简要介
  2. 浏览器唤起App
  3. Android(安卓)常用的距离单位
  4. Android(安卓)Studio 打包 Jar (将自己的
  5. 如何在android上 使用gif图片(android开源
  6. Mac android 入门初探
  7. Android下自己开发APP实现HID的连接
  8. Android(安卓)RxJava 实际应用讲解:从磁盘
  9. Android官方开发文档Training系列课程中
  10. Android快速实现上传项目到Github