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