开发工具
JSONPath 查询在线工具
JSONPath 查询工具按照 RFC 9535 为主的路径语义,从嵌套 JSON 中筛选节点,并同时展示匹配值、规范路径和 JSON Pointer。
功能介绍
接口响应和配置文件层级较深时,手动展开对象寻找字段既慢又容易遗漏。JSONPath 用一条表达式描述要选择的节点,例如 $.store.book[*].title 可以提取数组中所有书名,$..price 可以递归查找任意层级的价格字段。本工具以 RFC 9535 的标准语义为主要基线,在浏览器内完成查询。
查询结果不仅展示值,还给出每个节点的规范 JSONPath 和 JSON Pointer。路径信息适合定位原始数据、编写测试断言或转换成其他程序的访问方式。结果可整体复制,并能根据当前表达式生成 JavaScript、Python 和命令行代码片段,减少重复转写。
使用方法
- 把接口响应或配置 JSON 粘贴到左侧输入区,内容停止变化 400ms 后会自动解析;
- 在右侧输入以 $ 开头的 JSONPath,也可以点击字段、过滤、递归或切片示例快速体验;
- 在匹配值和路径视图之间切换,核对节点类型、规范路径与 JSON Pointer;
- 复制全部结果或路径清单,代码片段页可复制当前表达式对应的常见语言写法。
注意事项
- 过滤表达式使用库提供的浏览器安全求值器,不使用原生 eval 或 Function;不应把来源不明的复杂扩展语法当作安全规则。
- 单份 JSON 限制为 300 KB,最多展示 500 个匹配节点,适合调试和日常查询,不用于替代流式大数据处理。
- JSON 与表达式只在浏览器本地处理,产品事件不包含输入、表达式、路径或结果值。
常见使用场景
- 从接口响应中批量提取字段值
- 定位嵌套对象和数组中的目标节点
- 调试 JSONPath 过滤与切片表达式
- 生成 JavaScript、Python 和命令行查询片段
常见问题
JSONPath 和 JSON Pointer 有什么区别?
JSONPath 可以使用通配符、切片、递归和过滤一次选择多个节点;JSON Pointer 通常精确指向一个已知位置。结果页会同时给出两种路径表示。
JSONPath 查询会上传数据吗?
不会。JSON 解析、表达式执行和结果生成均在当前浏览器中完成,输入与匹配结果不会发送到服务器。
为什么最多只展示 500 个结果?
结果数量设有上限,避免通配符或递归查询在大型 JSON 上产生过多 DOM 节点并阻塞页面。工具仍会显示实际匹配总数。