java - Jackson 如果 JSON 数组中存在某个值,则不解析整个项目

标签 java json parsing serialization jackson

我正在尝试使用 Jackson 反序列化以下 Json

[
  {
    "id" : "abc",
    "deleted": true
  },
  {
    "id" : "def",
  }
]

我不想为标记为“deleted”:“true”的项目创建 java 对象

对于上面的示例,上述 JSON 结构的输出对象应该是一个只有一个对象 (id:def) 的列表。

如何配置 Jackson 来执行此操作?

最佳答案

您可以使用 Jackson 读取 JSON 数据流。请参阅this tutorial了解详情。这将允许您即时决定是否创建任何正在解析的对象。

或者,查看 javax.json.stream 。该库允许拉式解析,这使您可以控制解析 JSON。

一般来说,您要查找的术语是“推式解析”和“拉式解析”。使用这些来寻找其他替代方案来完成您想要的任务。

关于java - Jackson 如果 JSON 数组中存在某个值,则不解析整个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48812768/

相关文章:

java - jsonschema2pojo 还生成自定义注释器的对象

Java Nio 绝对路径转相对路径

java - 将文件存储为 android list 的一部分以进行部署然后打开它?

ruby - JSON.parse 更改排序 - Ruby

java - Java 中的 apache.commons.cli 和 "long"命令行参数

java - 您可以在 POJO 类中同时使用 @XmlElement 和 @JsonProperty

带有回调ajax json的jQuery自动完成

php - 如何在php中下载网页

algorithm - 是否有一种算法可以确定给定的句子是否是语法的子句?

java - 更改第三方 jar 的版本是否需要重新编译我的代码?