我有ABCResponse类,而isActive是该类的成员。当将ABCResponse转换为JSON时,我只想忽略isActive字段,除非其值未明确设置。 (isActive是布尔值,我知道默认情况下它的值将为false,但是如果未明确设置其值,有任何可能的方法可以忽略它?)
我不能使用@JSONIgnore,因为即使设置了它的值,它也会忽略。
公共类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
,使其可以为null,并在类级别使用以下注释:@JsonInclude(Include.NON_NULL)
或@JsonInclude(JsonSerialize.Inclusion.NON_NULL)
(如果使用的是Jackson的2.x +版本)
关于java - 转换为JSON时忽略Java bean字段(仅当尚未设置其值时),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43198885/