1.如果是string字符串 基本数据类型的设置
(JsonInclude.Include.NON_NULL)
@JsonInclude(JsonInclude.Include.NON_NULL)
2.测试接口时发现当返回的对象中属性值为 “” 或 [] 或 null 时,该属性依然会返回,这样数据看起来很不美观并且有时候也会导致前端组件出现一些小的bug。
如果children是空会出现如下图
解决--- 引入依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
</dependency>
使用 @JsonInclude 注解
只需要在实体类中的属性上面加上 @JsonInclude(JsonInclude.Include.NON_EMPTY)
注意:
1、 departmentCode 属性为 String 类型,String 的默认值为 null,所以注解里面要使用 JsonInclude.Include.NON_NULL。
2、children 属性为 List 类型,List 的默认值为 空 或 [] ,所以注解里面要使用 JsonInclude.Include.NON_EMPTY 。
可参考
children效果展示:
结果展示