我想知道给定密钥的JSON中是否存在键值对。此键值对可能不在root下。它可能深深地嵌入到文档中。例如:
{"Persons":[
{"Person":
{"name":"john"}
}]
}
我希望有类似JsonDoc.has(“name”)的东西,然后返回true。 我在网上搜索并找到这个主题:Java: Json has key/field
两个答案(minimal-json和org.json)都有一些名为has()或get()的函数,但我查看了它们的源代码,它们都试图在root下找到键值。所以他们不能满足我的需求。
我可以想到遍历整个json并尝试找到键值,但它看起来效率不高。
答案 0 :(得分:1)
如果您使用Jackson,则可以在JsonNode上调用findParent
,该JsonNode将在节点或其后代中查找字段。