gpt4 book ai didi

java - 检测 JSON 对象列表中的重复条目

转载 作者:行者123 更新时间:2023-11-30 11:18:34 25 4
gpt4 key购买 nike

我有一个用 java 解析的 JSON 文件。它有几个对象列表,如下所示:

{
"phoneNumbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}

这是一个敏感的输入文件,不能覆盖重复的条目。该程序在处理特定列表时使用 for 循环和映射检查重复项,但我想在解析文件时一次性检查整个文件是否存在重复项,以便在出现错误时程序在运行任何其他内容之前停止。

我想知道是否有 Java 的 JSON 解析器可以检测列表中的重复对象条目并提供消息。此外,是否有任何解析器可以让您知道声明的对象是否因为在同一文件中声明了另一个同名对象而被覆盖?

最佳答案

嗯,Jackson确实有 deserialization feature在其 data binding extension这将满足您的需要:FAIL_ON_READING_DUP_TREE_KEY 将导致解析器在读取重复键时失败。

也就是说,您可以通过使用自定义 Map 为任何支持反序列化为自定义对象的解析器实现相同的功能。如果遇到重复键则抛出异常的类,而不是仅仅更新值...

至于在列表中查找重复条目,如何反序列化为自定义 LinkedHashSet如果插入重复条目会引发异常的子类?

关于java - 检测 JSON 对象列表中的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23794262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com