我想查找给定键的 JSON 中是否存在键值对。该键值对可能不在根目录下。它可能深深地嵌入到文档中。例如:
{"Persons":[
{"Person":
{"name":"john"}
}]
}
我想要像 JsonDoc.has("name") 这样的东西,并返回 true。 我在网上搜索并找到这个帖子:Java: Json has key/field
两个答案(minimal-json 和 org.json)都有一些称为 has() 或 get() 的函数,但我查看了它们的源代码,它们都试图在 root 下找到键值。所以它们不能满足我的需求。
我可以想到遍历整个json并尝试找到key-value,但似乎效率不高。
最佳答案
如果您使用 Jackson,您可以在 JsonNode 上调用 findParent
,它将在节点或其后代中查找字段。
关于java - 使用JAVA高效查找JSON中的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31329183/