@JsonInclude(JsonInclude.Include.NON_NULL)注解的作用

@JsonInclude(
JsonInclude.Include.NON_NULL)注解的作用是在使用Jackson库进行序列化操作时,指定在将Java对象转换为JSON字符串时,只包含非空值的属性,忽略值为null的属性。

举个例子,如果一个Java对象有一个属性值为null,那么在默认情况下,该属性会被序列化成JSON字符串中的一个键值对,其值为null。而如果给该属性添加@JsonInclude(
JsonInclude.Include.NON_NULL)注解,那么只有在该属性的值不为null时,该属性才会被序列化成JSON字符串中的一个键值对。

这个注解还支持其他几个选项,包括:

  • JsonInclude.Include.ALWAYS:指定始终包含属性,包括属性值为null的情况。
  • JsonInclude.Include.NON_DEFAULT:只包含属性值不为默认值的属性。
  • JsonInclude.Include.NON_EMPTY:只包含属性值不为null或者空字符串的属性。

使用@JsonInclude注解可以方便地控制序列化时JSON字符串包含哪些属性,从而使JSON字符串更加紧凑和易读。

原文链接:,转发请注明来源!