我对 Jackson 和 DeserializationFeature 有疑问。从 WebService 我得到 JSON 字段,例如:
"location":null,
或者
"location":{
"code":"YYYYYY",
"label":"XXXXXX"
},
当我尝试获取代码或标签时,例如。
project.getLocation().getCode();
Java 返回 NullPointerException。
我当前的代码是这样写的:并且工作正常。
if (project.getLocation() != null) {
location_code = project.getLocation().getCode();
location_label = project.getLocation().getLabel();
} else {
location_code = null;
location_label = null;
}
DeserializationFeature 的哪个选项适合解决此问题?
最佳答案
不确定 DeserializationFuture 选项,但简单的空检查可以完成这项工作:
String code = null;
Location location = project.getLocation(); // maybe, some yours location type
if (location != null) {
code = location.getCode();
}
关于Java Jackson 反序列化功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42579308/