我搜索并找到了空,但是我无法控制这个类来改变我的设置。
我被给予了
{... "fieldNames": null,...}它应该反序列化为
Collection<String> fieldNames我不能控制这门课,也不能控制我要得到的那个人。
我能用什么设置来处理这个问题吗?我看过DeserializationFeature,但找不到
发布于 2017-10-28 23:10:18
当您不控制要反序列化的类时,可以使用混合方式。您没有提到包含Collection<String> fieldNames的类的名称,所以让我们假设它被称为Fields。然后创建一个新类:
class FieldsMixin {
@JsonSetter(nulls = Nulls.SKIP)
Collection<String> fieldNames;
}并将mixin类添加到您的ObjectMapper中,将其与原始未修改的类关联:
mapper.addMixIn(Fields.class, FieldsMixin.class);这是Jackson 2.9中的一个新特性,正如您猜测的那样,如果JSON中的值为null,它将跳过调用setter方法或以其他方式设置字段。文档
https://stackoverflow.com/questions/46913173
复制相似问题