1
10
概念
jsonpath显然有一个过滤器语法,允许您将任意的javascript插入到表达式中,以便进行匹配或过滤。它也使用
所以这可能是你想在这里使用的。 解决方案为了测试我想到的查询,我修改了 jsonpath-test-js.html 文件在 JSONPath's repo 测试你的数据。您可以复制粘贴我的样本到一个HTML文件,然后将其加载到浏览器中。
他们的测试套件有一个对象数组,其中的字段名为
我想到的是:
注意,这将首先打印我的查询表达式的结果,然后打印您的结果,这样我们就可以比较它们产生的结果。 这是它产生的输出:
所以过滤器表达式中的正确操作符是
但是,我发现了一个不幸的问题(至少在jsonpath的javascript实现中):在上面的查询中使用“class”一词会导致:
我唯一的猜测是
结果:
所以用上面的表达,你应该走得好!过滤器功能看起来很强大,所以很可能值得探索它的功能! |
2
1
您可以使用defiantjs,而不是使用难以掌握的非标准查询样式。( http://defiantjs.com ,它使用“search”方法扩展了全局对象JSON,您可以使用标准化的xpath查询来查询JSON结构。此方法返回数组中的匹配项(如果未找到匹配项,则返回空数组)。
下面是下面代码的一个工作JSodle;
要了解xpath及其工作原理,请查看此xpath评估工具:
|
3
0
试试这个 jsonpath.with(jsonResponse.param(“name”,“get name”).get(“findall a->a.name==name”)。 |