Java Jackson 反序列化功能

标签 java json jackson

我对 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/

相关文章:

java - 正则表达式在不在括号内的点上拆分字符串

jquery - 使用 JQuery 简单保存到 JSON 文件

java - 如何从 Java 中的 JSON 文件中删除键值对

java - 使用 Jackson 序列化 XML 时如何指定列表元素名称?

java - 为什么我在这个例子中得到了 java.util.ConcurrentModificationException?

java - 如何使用 Spring 加载属性文件?

java - 如何发送压缩的http请求?

python - 如何使 Python 中的 json.dumps 忽略不可序列化的字段

javascript - 循环嵌套对象 AngularJS

java - 无法从 POJO 生成 Json 架构