onlinetools.dev

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 定义了语法和语义。之前写的实现们在边缘情况(尤其是过滤器和并集)上互有差异,同一表达式在不同库中可能行为不同;请对照你实际部署的实现做测试。
相关工具