我有像这样的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"
}
]
}
}
我正在实施一个通用代码。每次对象结构都可能发生变化,但属性结构将保持不变。我想通过匹配他们的名字找到所有的属性,如Name ==" attr1"。我读到了JsonPath。我正在使用Json.net(Newtonsoft)库进行json操作。我来了这个 - > JObject.SelectTokens(jsonPath)
。我创建了一个json路径查询$.[?(@.Name=='attr1')]
并在http://jsonpath.com/进行了测试。它工作正常但在c#代码中它给我的结果是空的。任何人都可以建议我一个解决方案,你的帮助是相关的!
答案 0 :(得分:1)
使用此JsonPath只需在$
之后添加一个额外的点$..[?(@.Name=='attr1')]