根对象使用 $ 来表示,而无需区分是对象还是数组。

表达式可以使用.,也可以使用[]。如:

$.store.book[0].title 或 $'store'0。

表达式(<expr>)可用作显式名称或索引的替代,如:

$.store.book[(@.length-1)].title 表示获取最后一个 book 的 title。

使用符号@表示当前对象。过滤器表达式通过语法支持,?(<boolean expr>)如:

$.store.book[?(@.price < 10)].title 表示获取价格小于 10 的所有 book 的 title。

要点:
$ 表示文档的根元素
@ 表示文档的当前元素
.node_name 或 ['node_name'] 匹配下级节点
[index] 检索数组中的元素
[start:end:step] 支持数组切片语法

  • 作为通配符,匹配所有成员
    .. 子递归通配符,匹配成员的所有子元素

(<expr>) 使用表达式
?(<boolean expr>)进行数据筛选

注意:

JsonPath 的索引从0开始计数
JsonPath 中字符串使用单引号表示,例如:$.store.book[?(@.category=='reference')]中的'reference'

你可以在此处验证 JsonPath 的执行效果。

参考文档:

https://apifox.com/help/reference/json-path

标签: jsonPath


阿里云优惠主机

添加新评论

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。