JSONPath / jq - 在线查询提取 JSON 字段

用 JSONPath 表达式实时查询、筛选、提取 JSON 数据,支持递归与通配符、表格 / 纯文本视图与多组示例数据

JSONPath / jq · 使用说明

JSONPath 在线求值工具用 $.a.b、$..name、$.list[*] 这类表达式从 JSON 中精确提取数据,支持通配符、数组切片、负索引与问号过滤条件,等价于命令行 jq 的常用查询能力,无需安装任何软件。结果可按树形、表格或纯文本查看,方便核对嵌套接口返回、快速取出埋点字段、验证前端取值表达式。求值在浏览器本地完成,JSON 不上传。

示例

输入
$.store.book[?(@.price<10)].title
输出
$.store.book[0].title  =>  "Sayings"
$.store.book[2].title  =>  "Moby Dick"

如何使用

  1. 粘贴 JSON 数据到上方输入框
  2. 填写 JSONPath 表达式,或点下方预设按钮快速体验
  3. 点「执行查询」查看匹配路径与取值

小贴士

  • $..key 递归查找任意层级的字段;[-1] 取最后一个元素
  • 过滤语法示例:$.store.book[?(@.price<10)].title

常见问题

JSONPath 查询会上传我的数据吗?

不会。解析与求值都在你的浏览器本地完成,数据不会上传任何服务器,页面关闭后也不留下记录,和站内 本地工具 一致。

$.. 递归查询怎么用?

$.. 表示从根开始递归搜索任意层级的匹配,例如 $..price 会取出 JSON 里所有名为 price 的值。注意它会同时命中嵌套在对象和数组里的同名键,结果可能不止一条。

为什么取不到值?

常见原因是键名含点、空格、中文等特殊字符时直接写 .key 会失败,需改用 ["key"] 形式,例如 $.store["book"]。可先用 JSON 格式化 确认真实键名写法。

通配符 * 和下标有啥区别?

* 用于枚举对象的所有字段,下标(如 [0]、[1])用于按位置取数组元素。两者针对的数据结构不同,用错场景会取不到预期值。

取出来的结果想再格式化?

把 JSONPath 找到的那段数据复制到 JSON 格式化,可一键缩进、校验,并继续转 YAML 或 TS 类型。

📂

松开以自动格式化

支持 .json / .sql / .csv / .html / .css / .xml / .yaml 文件