JsonIgnoreProperties

指定在序列化和反序列化时被忽略的属性
被该注解标注的属性不会参与序列化和反序列化

JsonIgnoretype

使用了该注解的类作为其他类的成员属性时,不会参与序列化和反序列化

JsonAutiDetect

在类上使用,标识序列化和反序列化的自动识别的范围

  1. @Data
  2. @Accessors(chain = true)
  3. @JsonRootName("test")
  4. @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY)
  5. public class TestEntity {
  6. /**
  7. * 推特消息id
  8. */
  9. Long id;
  10. /**
  11. * 消息内容
  12. */
  13. String text;
  14. /**
  15. * 创建时间
  16. */
  17. LocalDateTime createTime;
  18. }

其属性值有如下几种类型
image.png

  1. ANY // 所有
  2. NON_PRIVATE // private之外的成员属性
  3. PROTECTED_AND_PUBLIC // protected和public的(此时privte和默认的package access时不能被自动识别的)
  4. PUBLIC_ONLY // public的
  5. NONE // 禁止自动识别
  6. DEFAULT // 默认的,用于继承父类的自动识别的范围

JsonPropertyOrder

标识序列化的字段顺序,对于某些有着字段顺序要求的业务,就可以使用该注解进行标识顺序
默认序列化顺序是实体类的字段顺序,从上到下

  • 该顺序仅在序列化时生效