使用Jackson映射时,将默认值设置为空字段
我正在尝试使用Jackson将一些JSON对象映射到Java对象。JSON对象中的某些字段是必填字段(可以用标记@NotNull
),而某些字段是可选字段。
用Jackson映射之后,在JSON对象中未设置的所有字段在Java中都将具有空值。是否有类似的注释@NotNull
可以告诉Jackson为Java类成员设置默认值(如果为null)?
编辑:为了使问题更清楚,这里是一些代码示例。
Java对象:
class JavaObject { @NotNull
public String notNullMember;
@DefaultValue("Value")
public String optionalMember;
}
JSON对象可以是:
{ "notNullMember" : "notNull"
}
要么:
{ "notNullMember" : "notNull",
"optionalMember" : "optional"
}
该@DefaultValue
注释只是为了展示一下我问。这不是真正的注释。如果JSON对象类似于第一个示例,则我希望的值optionalMember
是"Value"
and
not null
。有没有做这种事情的注释?
回答:
没有注释可以设置默认值。
您只能在Java类级别上设置默认值:
public class JavaObject {
public String notNullMember;
public String optionalMember = "Value";
}
以上是 使用Jackson映射时,将默认值设置为空字段 的全部内容, 来源链接: utcz.com/qa/433764.html