首页 > 解决方案 > Json.net JsonPath 过滤器与联合

问题描述

我正在尝试动态构建一个 JsonPath 以根据其所有属性在数组中查找元素。使用静态 linq 查询不是一个选项,因为我的代码需要使用任何数组。我在我的 C#.net 项目中使用 Newtonsoft.Json 11.0.2。

我正在尝试使用下面的 JsonPath,但我遇到了一个Unexpected character while parsing path indexer: ,例外。似乎可以使用任何 Flow Communications 版本在 jsonpath.curiousconcept.com JsonPath 测试仪上工作。

任何帮助是极大的赞赏!谢谢!

json路径:$.arr[?(@.Amount == '1000'),?(@.Name == 'Item A')]

杰森:

{ "arr":[ { "Name":"Item A", "Amount":1000 }, { "Name":"Item B", "Amount":2000 }, { "Name":"Item C", "Amount":3000 }, { "Name":"Item D", "Amount":4000 } ] }

标签: c#.netjson.netjsonpath

解决方案


我假设在 jsonpath.curiousconcept.com 上,第二部分被忽略了。正确的 JsonPath 是:

$.arr[?(@.Amount == 1000 && @.Name == 'Item A')]

推荐阅读