我有一个领域很少的课程
static final class Sample {
Enum A, B, C, D;
Sample(A, B, C) {
// A,B,C init; not D (it's null)
}
}
当我使用 3 参数构造函数创建 Sample 实例时,我想在发送作为对 API 调用的响应时忽略第 4 个实例。
我怎样才能做到这一点?我不能使用 JsonIgnore 因为在其他流程中,D 会有一些非 null values;
回答1
您可以通过使用@JsonInclude(Include.NON_NULL) 在类级别忽略null 字段以仅包含非null 字段,从而排除value 为null 的任何属性。
回答2
您必须在类级别添加 (com.fasterxml.jackson.annotation.JsonInclude;) 的 @JsonInclude(JsonInclude.Include.NON_NULL),如下所示:
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
class Sample {
Enum A, B, C, D;
Sample(A, B, C) {
// A,B,C init; not D (it's null)
}
}