我有一个看起来像这样的 json
{
"a": {
"b": [
{
"c": {
"d": [{ "f": "value" }]
}
},
{
"c": {
"d": [{ "f": "value" }]
}
}
]
}
}
我使用以下代码循环 b
内的数据,然后在嵌套循环中再次获取 d
处的数组
for (JsonNode abNode : rootNode.at("/a/b")) {
for (JsonNode cdNode : abNode.at("/c/d")) {
//cdNode.get("f")
}
}
在 for 循环中,如何获取类似 node.get("f")
的路径,以便获得 /a/b/0/c/d/0/f
然后是 /a/b/1/c/d/0/f
? jackson 有东西可以得到这个或另一个图书馆吗?我现在唯一能想到的就是切换到 for i=0
循环
最佳答案
您正在尝试做的事情在技术术语中也称为 Xpath。 它用于基于 html、xml 的语言,现在也可用于 json
您可以尝试使用 jsonpath 来解决这种情况:
https://www.baeldung.com/guide-to-jayway-jsonpath https://github.com/json-path/JsonPath
关于java - 如何获取 Jackson JsonNode 的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71746882/