解决@JsonInclude(JsonInclude.Include.NON_NULL)不起作用问题

2022-11-13 10:11:27 include 解决 JsonInclude

@JsonInclude(JsonInclude.Include.NON_NULL)不起作用

记录一下使用@JsonInclude(JsonInclude.Include.NON_NULL)不起作用的原因。

我想要的结果是如果只给code赋值,其他属性不赋值,那么我调用接口返回的结果里面只有code。但是遇到其他属性也存在着的情况(为null)。

原因

我在controller层使用了一个抽象controller类,该类里的A方法会把Object类对象转换成JSON对象,就是这个A方法的原因,把A去掉就可以了,直接返回ReturnResult对象。

@JsonInclude(JsonInclude.Include.NON_NULL)注解

用法含义

为null的字段不序列化

看示例

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Response {
    private String name; 
    private String targetId; 
    private String characteristic;
}

假设这个Response类是返回给前端的响应。如果字段characteristic为null,加上该注解后前端拿到的响应格式应该是这个样子(为null的characteristic字段不会显示在序列化结果里):

{
  "name": "xxx",
  "targetId": "xxx"
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章