Gson注解应用 介绍
2017-12-01 本文已影响0人
kexinJiao
在学习项目Ribble-master时需要的Gson问题总结。众所周知Gson是谷歌设计的用于json字符串解析和封装的类库。
它里面好多数据实体的设计采用了gson注解 @Expose和@SerializedName。
比如:class TokenResponse{
@SerializedName("access_token")
@Expose
var token:String? = null
……
}
@SerializedName注解的作用是定义属性序列化后名称。
@Expose注解的作用是设置实体中的属性是否想要序列化和反序列化。自身的两个属性默认都是true。
如果某个字段中被transient这个java关键字修饰,就不会被序列化和反序列化。
@Since注解表示自从多少版本针对该字段才生效。比如@Since(1.2)代表从版本1.2之后才生效。
@Until注解代表一直到多少版本都是生效的。比如@Until(1.5)代表在1.5版本之前该字段都是生效的。
@JsonAdapter是在2.7版本以后才有的注解类。引入它的作用是为了减少代码量。注意只有类的形式,才可以使用@JsonAdapter注解。