美文网首页
Gson之@Expose

Gson之@Expose

作者: 钦_79f7 | 来源:发表于2019-12-18 11:38 被阅读0次

    Gson注解之 @Expose 的作用:

    控制某个属性是否参与 JSON的序列化 or 反序列化。

    代码使用示例:

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

    效果说明

    • JSON序列化时,即 toJson 时,只会在json中生成 firstName 两个字段。
    • JSON反序列化,即 fromJson 时,生成的 Java对象中值会包含 firstName,lastName, 不会包含 emailAddress, password
    • transient 修饰符,效果等同于 @Expose(serialize = false, deserialize = false) ,或者 类似 password 不做任何修饰

    注意事项

    如果想要上述代码中的@Expose注解生效,==不能通过==

    Gson gson = new Gson();
    

    这样的方式去创建 gson 对象。

    需要通过

    Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnatation().create();
    

    创建出来的 gson对象,调用 toJson, fromJson 方法才会使得上述代码的 @Expose 注解生效。

    相关文章

      网友评论

          本文标题:Gson之@Expose

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