Java 缺少属性的默认值
在使用Jackson反序列化Json时,当Json文件中缺少属性时,是否有方法指定默认值Java 缺少属性的默认值,java,jackson,deserialization,default-value,Java,Jackson,Deserialization,Default Value,在使用Jackson反序列化Json时,当Json文件中缺少属性时,是否有方法指定默认值 @NoArgsConstructor @Getter @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(NON_NULL) @AllArgsConstructor public class Sample { private String value = "hai"; /* public Sample(String value)
@NoArgsConstructor
@Getter
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(NON_NULL)
@AllArgsConstructor
public class Sample {
private String value = "hai";
/* public Sample(String value) {
this.value = value; // when I remove @AllArgsConstructor and uncomment this constructor ,the default value is assigned if the property is missing in Json file
}*/
}
你不需要为此做任何事
class Student {
public String course = "MATH";
}
如果JSON中缺少
course
值,bean中的值将默认设置为MATH。您无需为此做任何事情
class Student {
public String course = "MATH";
}
如果JSON中缺少
course
值,则bean中的值默认设置为MATH。NO,该值实际返回为null@Priya发布JSON结构和输出。@Priya只有在JSON显式地将此属性的值设置为null时,它才可以为null,但是你没有要求。我已经编辑了我的Question@Priya这可能是由于jackson版本,它是jackson 2.10,对于缺失的属性,jackson将替换为null,即使我们在Student
calssNO中设置了默认值,该值实际上返回为null@Priya发布您的JSON结构和输出。@Priya只有在JSON显式地将此属性的值设置为null的情况下,它才可以为null,但您没有要求。我已经编辑了我的Question@Priya可能是因为jackson版本的缘故那是jackson 2.10,对于缺少的属性,即使我们在Student
calssIs jackson中设置了默认值,jackson也将替换为null?jackson是一个好库吗?