JSONPath 测试器
开发
粘贴 JSON 文档与 JSONPath 表达式。工具对文档求值路径,并以 JSON 数组形式显示所有匹配值。支持常用子集:根 `$`、点导航 `.key`、索引 `[n]`(正负)、通配符 `[*]`、递归下降 `..` 与方括号引号键 `['key']`。在粘贴到 jq、Bruno、Postman、k6 或 CloudWatch 查询前验证 JSONPath 时有用。
—
示例:
匹配 (3 条)
[ "Evelyn Waugh", "Herman Melville", "Nigel Rees" ]
支持 `$`、`.key`、`..key`、`[n]`、`[-1]`、`[*]` 与 `['key']`。过滤与切片不支持 — 请用 jq。
使用方法
- 在上方框中粘贴 JSON(默认样例可作起点)。
- 写一个 JSONPath 表达式 — 不确定时点击示例芯片。
- 查看匹配值,或作为 JSON 数组复制。
常见问题
- 这是哪种 JSONPath 方言?
- Goessner / RFC 9535 语法的实用子集 — 根 `$`、子 `.key`、递归 `..`、索引 `[n]`、通配符 `*`、引号键 `['x']`。过滤表达式(`[?(@.price < 10)]`)、切片(`[0:2]`)、并集(`[0,2]`)与脚本表达式不支持。请用 jq。
- 为什么我的路径什么都不返回?
- 常见原因:键名拼写错(JSONPath 区分大小写)、某些项缺少字段(递归 `..` 静默跳过)、输入不是有效 JSON。先试更简单的路径以确认数据。
- `$..price` 会找到所有深度的 price 吗?
- 是 — `..` 是递归下降,`price` 然后过滤出含 `price` 键的节点。返回值本身,而非包含对象。要获取容器,请用 `$..*` 自行筛选。
- 可以对大型 API 响应运行吗?
- 本地可以 — 对几 MB 的文档解析与遍历都很快。对真实 API 通常使用命令行 jq 或 Bruno/Postman 内置 JSONPath;此测试器用于在提交表达式前迭代。