【发布时间】:2021-03-17 09:13:37
【问题描述】:
我有一个 JSON 数组,其中包含一些不属于我的类方法的对象,我想忽略/捕获它们,这就是我的 JSON 的外观:
[{
"id": 1,
"name": "John"
}, {
"badItem": true
}]
我正在运行代码以将上述字符串转换为我的类(带有id 和name 字段),如下所示:
List<Person> personList = new ArrayList<>();
try {
personList = objectMapper.readValue(msg, new TypeReference<List<Person>>() {});
} catch (Exception e) {
logger.error("De-Serialization failed", e);
response.addErrorMsg(e.toString());
}
我所有的阅读都会因为一件坏事而失败。我如何才能只捕获坏项目并只解析列表中可以工作的对象? (例如 John 和 catch badItem)
【问题讨论】:
-
你能添加模型类和有问题的 JSON 吗?
-
@fantaghirocco 有问题的类是“badItem”,它不是一个人。
-
您将需要一个自定义的
JsonDeserializer,也可能需要DeserializationProblemHandler。
标签: java spring-boot jackson