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
我正在使用 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