java jackson 设置默认值

java jackson set default value

我正在使用 Java 和 Jackson 库将 JSON 文件解析为 Java class。我的问题是,如果值为 null 或空,我无法设置默认值。有可能做到吗?现在,我只是把它写在 setters 部分。

比如我有一个JSON文件

{"CountryCode": "",
  "sourceName": "",
  "from": "type1",
  "to": "type2"}

在我的 Java class 中,我想将值设置为某些 Java 函数,如果它为空或为空。

例如

public class ExClass{
    @JsonProperty("CountryCode")
    private String countryCode = "USA";
}

所以,如果设置了值,那么就是它。如果不是,那应该是美国。

我们可以使 JSON setter 像下面这样:

@JsonSetter("CountryCode")
public void setCountryCode (String countryCode) {
    if (!countryCode.equals(null) && !countryCode.equals("")) { 
        this.countryCode = countryCode; 
    }
}

我认为它能满足您的要求。如果不行,请告诉我们详情。

参考:reference