我有一个如下所示的json(这只是代表性的:):
我面临的问题是Person对象可以在json中处于不同级别。例如。在下面的情况下,对于RootNode1,它处于第2层;在RootNode2的情况下,在第1层,在第0级。当然,这些级别不限于2,也不以任何方式与RootNode绑定。 (并且这些节点值不是已知的。仅固定的,唯一的用于标识Person对象的是"Type": "Person"
)
我必须在所有情况下都提取Person对象。
在JsonPath库中有没有一种方法可以通过遍历来实现:https://github.com/json-path/JsonPath?
[
{
"RootNode1": [
{
"ABC": [
{
"DEF": ""
},
{
"Name": "John",
"Type": "Person"
....
}
]
},
{
"DAC": {}
}
]
},
{
"RootNode2": [
{
"Name": "Williams",
"Type": "Person"
....
}
]
},
{
{
"Name": "Sam",
"Type": "Person"
....
}
}
]
是的,完全有可能。如果相信自述文件,他会做出[]
JsonPath.read(document, "$.RootNode1.ABC[1].Type");
对于RootNode1
和
JsonPath.read(document, "$.RootNode2[1].Type");
对于RootNode2
和
JsonPath.read(document, "$.Type");
这是我所看到的唯一方法。但是可能更简单,我习惯于个人使用org.json