C# 带有联合的Json.net JsonPath筛选器
我试图动态构建一个JsonPath,以便根据数组中的元素的所有属性来查找它们。使用静态linq查询不是一个选项,因为我的代码需要处理任何数组。我在C#net项目中使用了Newtonsoft.Json 11.0.2 我正在尝试使用下面的JsonPath,但在解析路径索引器时,我得到了一个C# 带有联合的Json.net JsonPath筛选器,c#,.net,json.net,jsonpath,C#,.net,Json.net,Jsonpath,我试图动态构建一个JsonPath,以便根据数组中的元素的所有属性来查找它们。使用静态linq查询不是一个选项,因为我的代码需要处理任何数组。我在C#net项目中使用了Newtonsoft.Json 11.0.2 我正在尝试使用下面的JsonPath,但在解析路径索引器时,我得到了一个意外字符:,异常。似乎可以在jsonpath.curiousconcept.com jsonpath测试仪上使用任何流通信版本 非常感谢您的帮助!谢谢 JsonPath:$.arr[?(@.Amount='1000
意外字符:,
异常。似乎可以在jsonpath.curiousconcept.com jsonpath测试仪上使用任何流通信版本
非常感谢您的帮助!谢谢
JsonPath:$.arr[?(@.Amount='1000'),?(@.Name==''Item A')]
Json:
{
“arr”:[
{
“名称”:“A项”,
“金额”:1000
},
{
“名称”:“B项”,
“数额”:2000
},
{
“名称”:“C项”,
“金额”:3000
},
{
“名称”:“D项”,
“金额”:4000
}
]
}
我假设在jsonpath.curiousconcept.com上忽略了第二部分。正确的JsonPath是:
$.arr[?(@.Amount == 1000 && @.Name == 'Item A')]
谢谢亚历克斯!这是可行的,但我必须从金额值中删除引号。因此,我的示例正确的是
$.arr[?(@.Amount==1000&&&@.Name==Item A')]