JSONPath 提取
给一段 JSON 和一条 JSONPath 表达式,取出目标节点,调接口时比临时写脚本快。
| 路径 | 值 |
|---|---|
$.store.book[0].title | "Sayings of the Century" |
$.store.book[2].title | "Moby Dick" |
文档里的路径
点一条直接填进上面的表达式(最多列 200 条)。
支持的语法
$ 代表整个文档。.key 取字段,字段名含特殊字符时写成 ['key']。[0] 取下标,[-1] 取最后一个,[0:2] 是切片,也可以写 [start:end:step]。[*] 和 .* 取全部子节点,['a','b'] 或 [0,2] 一次取多个。
..key 是递归下降,会在任意深度上找这个字段,..* 则遍历所有后代。过滤写成 [?(...)],@ 代表当前节点,可以用 @.price 或 @['price'] 取字段,配合 ==、!=、<、<=、>、>=、=~ 正则匹配,以及 &&、||、! 组合条件。
只写了字段名不带比较时,表示「存在这个字段」,所以 [?(@.isbn)] 就是筛出有 isbn 的书。过滤会作用在数组元素上;对象用过滤时按每个值判断。本页在浏览器本地解析和求值,数据不会上传。