Gson用法总结

前言

JSON (官网) 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便。其重要性不言而喻。解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、FastJson等。

本文主要用于收集整理作者之前使用的Gson的一些用法。

一、基本用法

Gson的入门使用
你真的会用Gson吗?

二、Gson属性重命名

用于解决服务器属性名不一致或者有其他需要区分的情况下。
推荐博文:Google Gson 属性重命名(@SerializedName 注解)

三、序列化排除字段的方法

作用:服务器返回字段不规范,或者服务器字段冲突的时候
序列化时排除字段的几种方式
我自己常用的是通过添加transient字段进行排除,如:

public class EcgFavoriteBean extends DataSupport{
    private transient int id;
    @SerializedName("id")
    private int myId;
    private String title;
    private String data_type;
}

当服务器返回的字段id,与我本地自定义的属性id相冲突的时候,我就是用上面的方法进行处理的。

四、解析Map

服务器给的数据结构:

[
  {
    "CHIEF": "主任医师"
  },
  {
    "AS_CHIEF": "副主任医师"
  },
  {
    "ATTENDING": "主治医师"
  },
  {
    "RESIDENT": "住院医师"
  },
  {
    "TECHNICIAN": "主管技师"
  },
  {
    "HEALTH": "健康管理师"
  },
  {
    "NA": "无"
  }
]

需要解析为List<Map<String, String>>数据结构。
请求的接口为以下结构即可:

@GET("assets/xxxx/")
Observable<Response<List<Map<String, String>>>> getDoctorTitles();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值