在浏览器里运行 JSONPath 查询。要排版文档,请用 JSON 格式化
JSONPath 从一份 JSON 文档里取出值。这一页运行一个实用子集,并把每个匹配以 JSON 返回。要先整理文档,用 JSON 格式化。
$。{"store":{"book":[{"author":"Nigel","price":8},{"author":"Evelyn","price":12}],"bicycle":{"price":19}}} 和路径 $.store.book[*].author。结果是 Nigel 和 Evelyn 的 JSON 数组,个数是 2。$.store.book[?(@.price<10)].author 返回 Nigel。$..price 返回 8、12 和 19。$,并清掉个数。复制结果复制这些 JSON 匹配。$ 是根。.key 和 ['key'] 读一个属性。[n] 读一个下标,负数从末尾数。[*] 读每个元素或属性。[start:end:step] 切片,不含 end。[0,2] 取这些下标。..key 走遍每个嵌套对象,收集这个键。
过滤的形式是 [?(@.price<10)] 或 [?(@.author=='Nigel')]。比较符是 ==、!=、<、>、<= 和 >=。文本按原文比较。大小比较用于数字。过滤作用在数组上。不认识的路径,或解析不了的 JSON,都是错误。零个匹配是合法的空数组。
每条查询都返回匹配列表,所以一个结果仍是只有一个元素的数组。
过滤只是对 @ 及其字段做一次比较。其他脚本写法会报错停下。