java - 在转换为 JSON 时忽略 java bean 字段,仅当它的值尚未设置时

标签 java json javabeans pojo

我有 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/

相关文章:

javascript - 使用 Ajax POST 请求将图像和 JSON 数据发送到服务器?

python - 将 graphviz.dot.Digraph 转换为 networkx.Graph

json - TypeScript如何将对象数组格式化为json数组

java - 如何在 JavaFX 中双向绑定(bind)嵌套属性?

javax.ejb.CreateException : Could not create stateless EJB 异常

java - 有效的Java。可克隆界面

java - 使用 Java SDK 将 Quicktime 视频上传到 S3

java - Linux screen 命令执行不起作用?

java - @Component扫描Spring bean

java - intellij idea 在 : import org. apache.spark.{SparkContext, SparkConf} 上出现 scala 错误