我正在尝试使用 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"
而不是 null
。有没有做这种事情的注解?
最佳答案
没有注释可以设置默认值。
您只能在 java 类级别上设置默认值:
public class JavaObject
{
public String notNullMember;
public String optionalMember = "Value";
}
https://stackoverflow.com/questions/18805455/