在Json.net没有返回结果JObject.SelectTokens JSON路径查询(Json

2019-11-04 19:47发布

我有这样一个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操作。 我来到这个ACROS - > JObject.SelectTokens(jsonPath) 我创建了一个JSON路径查询为$.[?(@.Name=='attr1')] ,并在测试http://jsonpath.com/ 。 这是正常工作,但在C#代码它给我空的结果。 任何人都可以请建议我一个解决方案,你的帮助是appreaciated!

Answer 1:

使用此JsonPath只是把一个额外的点$后

$..[?(@.Name=='attr1')]


文章来源: Json path query in JObject.SelectTokens in Json.net not returning results