首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >杰克逊地图-- Null Json名单

杰克逊地图-- Null Json名单
EN

Stack Overflow用户
提问于 2017-10-24 14:27:55
回答 1查看 171关注 0票数 1

我搜索并找到了,但是我无法控制这个类来改变我的设置。

我被给予了

代码语言:javascript
复制
{... "fieldNames": null,...}

它应该反序列化为

代码语言:javascript
复制
Collection<String> fieldNames

我不能控制这门课,也不能控制我要得到的那个人。

我能用什么设置来处理这个问题吗?我看过DeserializationFeature,但找不到

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-28 23:10:18

当您不控制要反序列化的类时,可以使用混合方式。您没有提到包含Collection<String> fieldNames的类的名称,所以让我们假设它被称为Fields。然后创建一个新类:

代码语言:javascript
复制
class FieldsMixin {
    @JsonSetter(nulls = Nulls.SKIP)
    Collection<String> fieldNames;
}

并将mixin类添加到您的ObjectMapper中,将其与原始未修改的类关联:

代码语言:javascript
复制
mapper.addMixIn(Fields.class, FieldsMixin.class);

这是Jackson 2.9中的一个新特性,正如您猜测的那样,如果JSON中的值为null,它将跳过调用setter方法或以其他方式设置字段。文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46913173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档