我正在尝试使用 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/