# JSONPath 在线测试 - JSON 路径查询、过滤表达式与语法速查

> 免费在线 JSONPath 测试：用 $.store.book[*]、..递归、切片和 [?(@.price < 10)] 过滤表达式查询 JSON，列出每个匹配的路径和值，附可点击的语法速查。

- 网址: https://qilingtools.com/zh/json-path
- 分类: 开发工具 (https://qilingtools.com/zh/dev)
- 标签: [开发](https://qilingtools.com/zh/tags/dev), [数据格式](https://qilingtools.com/zh/tags/data)
- 最后更新: 2026-10-26
- 价格: 免费，无需注册
- 隐私: 在浏览器本地处理，文件不上传服务器

JSONPath 是在 JSON 里定位数据的表达式语言，就像 XPath 之于 XML，被 Jayway JsonPath、Kubernetes kubectl -o jsonpath、Postman、JMeter、各种低代码平台和接口测试工具广泛使用。把 JSON 粘贴进来、输入表达式，结果会实时列出每一个匹配的规范化路径（如 $.store.book[2].title）和对应的值，路径可单独复制，全部结果也能一键复制为 JSON 数组。求值器按 RFC 9535 语义手写实现，不使用 eval：支持根节点 $、点号与括号取属性、负数下标、[start:end:step] 切片（含倒序）、通配符 *、递归下降 ..、多选 [a,b]，以及过滤表达式 ?(...)，里面可以用 == != < <= > >=、&& || !、括号、正则 =~ /…/i、与根节点 $ 的值比较，以及 length()、count()、match()、search() 函数。表达式写错时会指出出错的字符位置。页面下方的语法速查点一下就能试用，方便学习和调试。

## 使用步骤

1. 粘贴 JSON 数据（或使用示例）
2. 输入 JSONPath 表达式，或点击下方速查里的例子
3. 查看匹配的路径和值，复制单条路径或全部结果

## 功能特点

- 实时查询，列出每个匹配的路径和值
- 支持 $、.key、['key']、[n]、[-1]、切片、*、..、[a,b]
- 过滤表达式：比较、&& || !、正则、与根节点比较
- length() / count() / match() / search() 函数
- 表达式错误定位到字符
- 可点击的语法速查
- 本地运行，不使用 eval，数据不上传

## 常见问题

### JSONPath 的过滤表达式怎么写？

过滤写在方括号里，以 ? 开头，@ 代表当前元素，例如 $..book[?(@.price < 10)] 取价格小于 10 的书，$..book[?(@.isbn)] 取有 isbn 字段的书，$..book[?(@.price < 10 && @.category == 'fiction')] 同时满足两个条件。还可以用 || 表示或、! 取反、=~ /正则/i 做匹配，以及用 $.xxx 与根节点上的值比较。

### $.. 递归和 * 通配符有什么区别？

* 只取当前层的全部子节点，例如 $.store.* 得到 book 数组和 bicycle 对象；.. 会在任意深度查找，例如 $..price 会找出所有书和自行车的价格。二者可以组合，$..* 表示文档中的每一个节点。

### 这里的结果和 Jayway / Kubernetes 的 JSONPath 一样吗？

核心语法（$、点号、括号、下标、切片、通配、递归、过滤）在各实现中基本一致，本工具按 RFC 9535 标准语义实现，并兼容 Jayway 常用的 .length 和 =~ 正则写法。不同实现在边界情况（如比较不同类型、脚本表达式 (@.length-1)）上可能有差异，出于安全考虑本工具不执行任意脚本。

### JSON 数据会上传吗？

不会。解析和查询都在浏览器本地完成，过滤表达式由内置的小型解析器求值而不是 eval，接口返回中的敏感数据不会离开你的电脑。

## 相关工具

- [JSON 格式化](https://qilingtools.com/zh/json): 免费在线 JSON 格式化：一键美化、压缩，实时语法校验并定位到出错行列，支持树形视图折叠、键名排序、转义与去转义、Unicode 转中文、复制下载，数据不上传。
- [Base64 编解码](https://qilingtools.com/zh/base64): 免费在线 Base64 编码解码工具：支持中文 UTF-8、URL 安全变体，文本与 Base64 互转，实时转换，本地处理不上传。
- [URL 编解码](https://qilingtools.com/zh/url-encode): 免费在线 URL 编码解码工具：encodeURIComponent 与 encodeURI 两种模式，处理中文、空格与特殊符号，本地实时转换不上传。
- [JWT 解析](https://qilingtools.com/zh/jwt): 免费在线 JWT 解析工具：解码 JWT 的 Header 与 Payload，展示过期时间、签发时间等，本地解析不上传，保护令牌安全。
- [时间戳转换](https://qilingtools.com/zh/timestamp): 免费在线 Unix 时间戳转换工具：时间戳与日期互转，自动识别秒/毫秒，显示本地时间、UTC、ISO 8601 和相对时间，实时更新。
- [哈希计算](https://qilingtools.com/zh/hash): 免费在线哈希/摘要计算工具：对文本或文件计算 SHA-1、SHA-256、SHA-384、SHA-512，使用浏览器加密接口本地完成，文件不上传。
- [UUID 生成](https://qilingtools.com/zh/uuid): 免费在线 UUID 生成器：使用加密安全随机数批量生成符合 RFC 4122 的 UUID v4，可大写、去连字符、加花括号，一键复制。
- [进制转换](https://qilingtools.com/zh/base-convert): 免费在线进制转换工具：二进制、八进制、十进制、十六进制及任意 2–36 进制互转，支持大整数（BigInt），本地实时计算。
