如果用的是springboot框架,想要控制接口属性返回值为null的字段不序列化显示,可以通过增加以下配置来解决
spring:
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
default-property-inclusion: non_null
如上所述,红色的属性就是控制字段属性值为null的字段不返回显示,当not_null时,则不序列化显示。
参数意义:
JsonInclude.Include.ALWAYS 默认
JsonInclude.Include.NON_DEFAULT 属性为默认值不序列化
JsonInclude.Include.NON_EMPTY 属性为 空(” ”) 或者为 NULL 都不序列化
JsonInclude.Include.NON_NULL 属性为NULL 不序列化
如果不想全局控制,则可以通过@JsonInclude来实现指定字段属性值为null时不返回。
@JsonInclude(Include.NON_NULL) //将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include.Include.ALWAYS 默认 //Include.NON_DEFAULT 属性为默认值不序列化 //Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 //Include.NON_NULL 属性为NULL 不序列化