Gson使用之@Expose注解

作者: 天神Deity | 来源:发表于2016-12-21 22:04 被阅读1927次

@Expose

Gson 中的@Expose注解 用于声明当前的 参数 需要暴露给 JSON 进行序列化或反序列化. * 该注解只有在 你使用GsonBuilder去构造Gson时,同时调用excludeFieldsWithoutExposeAnnotation()方法 才起作用 * 举个例子:

public class User {
     @Expose private String firstName;
     @Expose(serialize = false) private String lastName;
     @Expose (serialize = false, deserialize = false) 
     private String emailAddress;
     private String password;
   }

如果你使用new Gson()实例化一个对象的话,那么@Expose 的注解是无效的,User中的参数都是会参与反序列化或序列化。

但是如果你使用的是

Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create()

对Gson进行实例化,
1.那么 没有被@Expose注解的password将不会参与系列化及反系列化。
2.lastName不会参与序列化
3.emailAddress 不会参与系列化及反序列化

相关文章

网友评论

    本文标题:Gson使用之@Expose注解

    本文链接:https://www.haomeiwen.com/subject/iywqvttx.html