JSONPath 测试器
用 JSONPath 表达式查询 JSON,查看每个匹配及其路径
本地运行
loading…
关于此工具
对你自己的 JSON 测试 JSONPath 表达式,每个匹配同时给出值和具体路径。支持覆盖日常使用的语法:点与方括号记法、数组下标(含负数)、通配符、并集(['a','b'])和递归下降($..price)。
每个匹配的路径输出是低调却实用的部分:对深层文档查询 $..id,每个结果都告诉你它的确切位置($.data.items[3].id),可直接贴进代码。它把「在这坨数据里的某处」变成精确地址。
过滤表达式([?(@.price < 10)])尚未实现——工具会明确说明,而不是返回错误结果。对占 JSONPath 使用大头的结构化提取,一切都能用。
常见问题
- $.a.b 和 $..b 有什么区别?
- $.a.b 走一条精确路线:根下的键 a,再取其中的键 b。$..b(递归下降)找出文档中任意深度的每一个 b。递归下降很强大但会带来意外——它也会匹配到你没想到的东西里嵌套的 b。
- 怎么访问带空格或连字符的键?
- 带引号的方括号记法:$['my key'] 或 $.data['content-type']。点记法只适用于类似合法标识符的键名。
- 负数下标可用吗?
- 可用——[-1] 是最后一个元素,[-2] 是倒数第二个,遵循 Python 普及、RFC 9535 采纳的约定。[0] 仍是第一个元素。
- JSONPath 有标准吗?
- 2024 年起有了——RFC 9535 定义了语法和语义。之前写的实现们在边缘情况(尤其是过滤器和并集)上互有差异,同一表达式在不同库中可能行为不同;请对照你实际部署的实现做测试。