我正在尝试动态构建JsonPath,以根据其所有属性在数组中查找元素。不能使用静态linq查询,因为我的代码需要使用任何数组。我在C#.net项目中使用的是Newtonsoft.Json 11.0.2。
我正在尝试下面的JsonPath,但遇到Unexpected character while parsing path indexer: ,
异常。似乎可以使用任何Flow Communications版本在jsonpath.curiousconcept.com JsonPath测试器上工作。
任何帮助将不胜感激!谢谢!
JsonPath:$.arr[?(@.Amount == '1000'),?(@.Name == 'Item A')]
Json:
{
"arr":[
{
"Name":"Item A",
"Amount":1000
},
{
"Name":"Item B",
"Amount":2000
},
{
"Name":"Item C",
"Amount":3000
},
{
"Name":"Item D",
"Amount":4000
}
]
}
答案 0 :(得分:2)
我假设在jsonpath.curiousconcept.com上仅忽略了第二部分。正确的JsonPath是:
$.arr[?(@.Amount == 1000 && @.Name == 'Item A')]