使用JsonPath.net,是否可以编写一个查询来获取不同嵌套级别具有相同键的属性值?
例如,来自以下 JSON:
{
"ObjA" : {
"textValue" : "a1",
"numValue" : 1
},
"ObjB" : {
"objArray": [
{
"textValue": "b1",
"numValue" : 1
},
{
"textValue": "b2",
"numValue" : 2
}
]
}
}
我们可以获得所有“textValue”的列表,即:
[
"a1",
"b1",
"b2"
]
或全部“numValue”,即:
[
1,
1,
2
]
我一直在尝试在 https://json-everything.net/json-path/ 上执行此操作,但我不知道如何实现。
JsonPath.net 支持递归下降运算符
".."
。 您可以使用它来降低 JSON 层次结构,然后通过将其添加到 ".."
之后来选择特定属性,如下所示:
var path = JsonPath.Parse("$..textValue");
或者
var path = JsonPath.Parse("$..numValue");
演示小提琴在这里。