AZ Tools

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。

使用方法

  1. 在上方框中粘贴 JSON(默认样例可作起点)。
  2. 写一个 JSONPath 表达式 — 不确定时点击示例芯片。
  3. 查看匹配值,或作为 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;此测试器用于在提交表达式前迭代。

相关工具