JSONPath 测试器与 JSON 查询工具JSONPath Plus · 浏览器本地
zh-CN

AppHelp

测试 JSONPath 查询并复制匹配路径

粘贴 JSON,尝试通配符或安全条件,查看每个匹配值与路径,再复制适合目标语言的访问表达式。输入与查询仅留在当前浏览器。

使用 JSONPath Plus 10.4 语义和浏览器内安全表达式求值。

查询结果

查询中…
没有匹配结果。

常见任务

  • JSONPath 测试器 JSON 查询
  • JSONPath Plus 安全条件
  • 复制 JSONPath 匹配路径
  • JSONPath 通配符 递归下降
  • JSONPath 转 JSON Pointer
  • 本地私密 JSON 查询

快速答案

此专用 JSONPath 测试器使用 JSONPath Plus 10.4 对粘贴的 JSON 执行查询,显示每个值的规范 JSONPath 与 JSON Pointer,并为九种开发环境转换路径。它使用库的安全表达式求值,不修改原始 JSON,也不会上传、持久化、记录或把用户数据写入 URL。

使用步骤

  1. 1. 粘贴有效 JSON加入 API 响应、测试夹具或配置,也可载入用户示例;若浏览器提供字符位置,解析错误会显示行列。
  2. 2. 输入或选择 JSONPath可从数组投影、首项、安全角色条件或递归 id 预设开始,再按文档调整。
  3. 3. 检查每条匹配查看总数、规范 JSONPath、转义后的 JSON Pointer、类型和值预览;最多渲染 200 条并提示截断。
  4. 4. 复制结果或路径把结果值复制为 JSON 数组,复制单条值或路径,或转换为 JavaScript、Python、PHP、Java、Go、C#、jq 与 JSON Pointer。

示例

提取所有用户名

输入
$.users[*].name
输出
["Ada", "Linus"]

通配符从每个数组元素选择 name。

安全筛选管理员

输入
$.users[?(@.role == "admin")]
输出
由匹配用户对象组成的 JSON 数组

条件由 JSONPath Plus 安全求值,不使用原生 eval。

递归查找 id

输入
$..id
输出
根节点下所有层级的 id 值

递归下降可匹配不同嵌套深度。

常见场景

  • 在写入业务代码前调试 API 提取表达式
  • 用真实夹具验证通配符与条件行为
  • 把单条规范路径复制到测试或文档
  • 将匹配路径转换为多种语言访问表达式
  • 不创建分享链接即可本地检查私密 JSON

注意事项

  • JSONPath 有多种方言;本页遵循 JSONPath Plus 10.4,无法保证与每种实现完全一致
  • 支持安全条件表达式,但不启用原生 eval,也不允许修改源 JSON
  • 重复对象键经 JSON.parse 后只保留最后一个值
  • 超出 JavaScript 安全整数范围的数字可能失去精度,应改用字符串
  • JSON Pointer 将 ~ 转义为 ~0、/ 转义为 ~1,空指针表示根
  • 最多渲染 200 条匹配,超大文档仍受浏览器内存限制

功能特点

  • 运行 JSONPath Plus 通配符、递归下降与安全条件查询
  • 查看匹配数量、规范 JSONPath、JSON Pointer、类型和值预览
  • 把全部匹配值作为 JSON 数组复制,同时最多渲染 200 行
  • 复制单条值与规范匹配路径
  • 把选中路径转换为九种开发格式
  • JSON 与查询仅在浏览器内存处理,不上传、不持久化

常见问题

使用哪种 JSONPath 实现?
使用 JSONPath Plus 10.4,支持通配符、递归下降和安全条件;边缘行为可能与其他方言不同。
JSONPath 条件表达式安全吗?
查询明确使用 JSONPath Plus 安全求值,不启用原生 eval,也不修改原始 JSON。
JSON 或查询会离开浏览器吗?
不会。JSON、查询、匹配值和路径仅留在浏览器内存,不上传、不持久化、不写日志或 URL。
复制全部结果会得到什么?
全部匹配值始终序列化为 JSON 数组,即使只匹配一条。界面仅渲染前 200 行并提示截断;超大复制仍受浏览器内存限制。
为什么其他 JSONPath 工具结果不同?
不同方言在条件、转义、顺序和扩展上存在差异,上线前应核对目标运行时语义。