@JsonInclude(Include.NON_NULL) 未按预期工作

2022-09-03 12:52:56

我已经在响应类上添加了注释。@JsonInclude(Include.NON_NULL)

@JsonInclude(Include.NON_NULL)
public class Response {

  @JsonProperty
  private String message;

 // getter-setters
}

如果值为 null,则该属性不包含在 JSON 中

但是我仍然将此属性作为 NULL 获取。

{
"message": null
}

原因何在?我错过了什么吗?


答案 1

我试过了

@JsonSerialize(include = Inclusion.NON_NULL)

intead

@JsonInclude(Include.NON_NULL)

它按预期工作。


答案 2

我正在使用Java Spring,在其中,我正在实现如下:

班级级别:

import com.fasterxml.jackson.annotation.JsonInclude;

        @JsonInclude(JsonInclude.Include.NON_NULL)
        public class Student {

            String name;
            //getter-setter
    }

你也可以在类的元素级别实现它:

元素级别:

import com.fasterxml.jackson.annotation.JsonInclude;

        @JsonInclude(JsonInclude.Include.NON_NULL)
        public class Student {

            String name;

            @JsonInclude(JsonInclude.Include.NON_NULL)
            String address;
            //getter-setter
    }

推荐