Json JObject.SelectTokens 中 Json.net 中的路径查询未返回结果
Json path query in JObject.SelectTokens in Json.net not returning results
我有一个json这样的
{
"Attributes": [
{
"Name": "attr1",
"Value": "abcd"
},
{
"Name": "attr2",
"Value": "abcde"
},
{
"Name": "attr3",
"Value": "abcdef"
}
],
"SomeObject": {
"Attributes": [
{
"Name": "attr1",
"Value": "xyz"
},
{
"Name": "attr2",
"Value": "xyza"
},
{
"Name": "attr3",
"Value": "wxyxz"
}
]
}
}
我正在实现一个通用代码。每次对象结构可能发生变化,但属性结构将保持不变。我想通过匹配名称=="attr1" 来找到所有属性。我读到了 JsonPath。我正在使用 Json.net(Newtonsoft) 库进行 json 操作。我遇到了这个 -> JObject.SelectTokens(jsonPath)
。我创建了一个 json 路径查询作为 $.[?(@.Name=='attr1')]
并在 http://jsonpath.com/ 进行了测试。它工作正常,但在 c# 代码中它给了我空结果。谁能给我建议一个解决方案,感谢您的帮助!
使用这个 JsonPath 只需在 $
之后多加一个点
$..[?(@.Name=='attr1')]
我有一个json这样的
{
"Attributes": [
{
"Name": "attr1",
"Value": "abcd"
},
{
"Name": "attr2",
"Value": "abcde"
},
{
"Name": "attr3",
"Value": "abcdef"
}
],
"SomeObject": {
"Attributes": [
{
"Name": "attr1",
"Value": "xyz"
},
{
"Name": "attr2",
"Value": "xyza"
},
{
"Name": "attr3",
"Value": "wxyxz"
}
]
}
}
我正在实现一个通用代码。每次对象结构可能发生变化,但属性结构将保持不变。我想通过匹配名称=="attr1" 来找到所有属性。我读到了 JsonPath。我正在使用 Json.net(Newtonsoft) 库进行 json 操作。我遇到了这个 -> JObject.SelectTokens(jsonPath)
。我创建了一个 json 路径查询作为 $.[?(@.Name=='attr1')]
并在 http://jsonpath.com/ 进行了测试。它工作正常,但在 c# 代码中它给了我空结果。谁能给我建议一个解决方案,感谢您的帮助!
使用这个 JsonPath 只需在 $
之后多加一个点$..[?(@.Name=='attr1')]