expo

更新时间:2022-11-25 14:46:43 阅读: 评论:0


2022年11月25日发(作者:年总结)

GsonBuilder—如何使⽤@Expo忽略字段

原⽂链接:GsonBuilder—HowtoIgnoreFieldswith@Expo

原⽂出⾃:NormanPeitek

译者:無名無

在之前的⽂章中,我们都是假设model字段都是需要序列化和反序列化的,这是⼀种最简单的情况,可真实的情况并不是如此,所以我们需要定制

我们的解析规则。

注解@Expo

之前⽂章有介绍如何序列化时不输出null的字段,当你不需要完全序列化model字段时,我们就可以使⽤@Expo来帮我结局。

@Expo默认有两个属性:rialize和derialize,默认值都为true,如果你给字段设置了@Expo注解,但是没有设置rialize和

derialize,那model的字段都将会输出。

看例⼦:

publicclassUrSimple{

@Expo()

Stringname;//equalsrialize&derialize

@Expo(rialize=fal,derialize=fal)

Stringemail;//equalsneitherrializenorderialize

@Expo(rialize=fal)

intage;//equalsonlyderialize

@Expo(derialize=fal)

booleanisDeveloper;//equalsonlyrialize

}

根据@Expo的⽤法,UrSimple序列化JSON输出只有name和isDeveloper,其他连个字段就不会被输出,因为rialize都是

fal;

反序列化的话,只有email和isDeveloper被忽略,因为derialize=fal

使⽤@Expo的前期是我们也需要使⽤GsonBuilder创建⼀个Gson实例:

GsonBuilderbuilder=newGsonBuilder();

eFieldsWithoutExpoAnnotation();

Gsongson=();

只有这样Gson在解析的时候@Expo才会⽣效。

Transient

使⽤transient来描述字段,将不能被序列化和反序列化

publicclassUrSimple{

Stringname;

Stringemail;

intage;

transientbooleanisDeveloper;//willnotberializedorderialized

}

总结

了解@Expo使⽤规则,清楚两个参数的含义,根据⾃⼰需求来配置@Expo属性。

Gson系列⽂章翻译回顾

1、Gson-Java-JSON序列化和反序列化⼊门

2、Gson-映射嵌套对象

3、Gson-Arrays和Lists映射对象

4、Gson-Map结构映射

5、Gson-Set集合映射

6、Gson-空值映射

7、GsonModelAnnotations-如何使⽤@SerializedName更改字段的命名

8、GsonModelAnnotations-@SerializedName匹配多个反序列化名称

9、GsonBuilder-基础和命名规则

10、GsonBuilder-序列化空值

11、GsonBuilder-忽略策略

12、GsonBuilder-GsonLenient属性

13、GsonBuilder-特殊类型Floats&Doubles

17、GsonBuilder-如何使⽤@Expo忽略字段

19、GsonAdvanced-映射枚举类型

20、GsonAdvanced-映射循环引⽤

21、GsonAdvanced-泛型

22、GsonAdvanced-简单⾃定义序列化(Part1)

24、GsonAdvanced-⾃定义反序列化基础

25、GsonAdvanced-⾃定义对象实例创建

26、GsonAdvanced-通过@JsonAdapter⾃定义(反)序列化过程

32、PracticalGson-如何解析多态对象

学习讨论

刚刚建了⼀个Android开源库分享学习群,有兴趣的⼩伙伴可以加⼊⼀起学习。

群⼆维码

本文发布于:2022-11-25 14:46:43,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/19112.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:winter什么意思
标签:expose
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图