@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字符串更加紧凑和易读。