Java 缺少属性的默认值

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)

在使用Jackson反序列化Json时,当Json文件中缺少属性时,是否有方法指定默认值

@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是一个好库吗?