我有 ABCResponse 类,isActive 是该类的成员。在将 ABCResponse 转换为 JSON 时,我想忽略 isActive 字段,仅当它的值未明确设置时。 (isActive 是 boolean 值,我知道默认情况下它的值为 false,但是如果它的值没有明确设置,有没有可能忽略它的方法?)
我不能使用@JSONIgnore,因为它会忽略即使它的值已设置。
公共(public)类 ABCResponse {
private boolean isActive;
private int id;
@JsonProperty("isActive")
public boolean isActive() {
return isActive;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
最佳答案
将其更改为包装器类型Boolean
,使其可以为空,并在类级别使用以下注释:@JsonInclude(Include.NON_NULL)
或 @JsonInclude(JsonSerialize.Inclusion.NON_NULL)
如果您使用的是 Jackson 的 2.x+ 版本
关于java - 在转换为 JSON 时忽略 java bean 字段,仅当它的值尚未设置时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43198885/