JSONPath 执行器与路径查找器
JSONPath 在线工具是一款 JSONPath 执行器兼路径查找器,帮助你浏览、查询并从任意 JSON 文档中提取数据。在交互式树中点击节点即可获取它精确的 JSONPath,或运行一条 JSONPath 表达式来取出匹配的值。它专为对接 API 的开发者、测试接口的 QA 工程师,以及任何需要探索陌生 JSON 的人而打造。
本工具提供两种互补模式。查找路径把可视化的树即时转换成路径表达式,而执行则针对你的数据运行 JSONPath 查询并实时显示结果。内置的速查表、写法切换开关和示例数据,让你在把路径复制进代码之前就能快速验证语法。
如何使用 JSONPath 在线工具
加载你的 JSON
把 JSON 粘贴到输入面板,点击上传文件载入 .json 文件,或点击示例数据立即试用。树形视图会自动解析你的 JSON,状态栏会显示它是否有效。
查找路径
在查找路径模式下,点击树中任意键、值或数组元素。它的 JSONPath 会出现在下方的路径栏中 —— 点击复制路径即可把它发送到剪贴板。
执行表达式
切换到执行模式,输入一条 JSONPath 表达式(例如 $.store.book[?(@.price < 10)]),然后按 Enter 或点击运行。匹配的结果和项数会立即显示,随时可复制。
切换写法
用点号 / 方括号切换开关,在 $.store.book[0].title 和 $['store']['book'][0]['title'] 之间互换。需要语法提示时,随时打开速查表。
功能特点
交互式树形视图
你的 JSON 会渲染成可折叠的树,徽标显示键和元素的数量,默认展开前两层以获得平衡的视图。
点击查找路径
点击任意节点即可立即获取它的 JSONPath,随着你浏览结构而实时更新。
JSONPath 执行器
针对你的数据运行 JSONPath 查询,立即看到匹配的结果,并附带匹配项的数量。
过滤器与通配符
支持过滤表达式如 [?(@.price < 10)]、通配符 *,以及比较运算符 ==、!=、<、<=、>、>=。
递归搜索与切片
用 .. 运算符查找任意深度的键,外加数组切片 [start:end:step] 和负数索引如 [-1]。
点号与方括号写法
在简洁的点号写法和能处理含空格或特殊字符的键的方括号写法之间切换。
按类型着色
对象、数组、字符串、数字、布尔和 null 各有独特的颜色,让你一眼就能读懂结构。
JSONPath 速查表
打开内置参考面板查看常用的 JSONPath 表达式及其作用,正好在你需要语法提示时派上用场。
展开与折叠
一键全部展开或全部折叠所有节点,在庞大或深层嵌套的 JSON 中快速穿行。
上传与示例数据
从设备载入 .json 文件,或放入随附的示例 JSON,几秒钟就能开始探索。
复制路径与结果
一键把任何查找到的路径或执行结果复制到剪贴板。
实时校验与统计
状态指示器会标记 JSON 是否有效,并在你输入时显示行数、大小和键的总数。
完全在本地运行
一切都在你的浏览器中进行,不会上传,所以你的 JSON 始终保持私密,离线也能用。
常见问题
什么是 JSONPath?
JSONPath 是一种针对 JSON 的查询语言,类似于 XML 的 XPath。表达式总是以 $(根)开头,用点号或方括号向更深处导航。例如 $.store.book[0].title 指向 store 对象中第一本书的标题。
如何查找 JSON 中某个值的路径?
粘贴你的 JSON,停留在查找路径模式,然后在树形视图中点击那个值。它的 JSONPath 会出现在下方的路径栏,复制路径按钮会把它直接复制到剪贴板 —— 无需手动写表达式。
点号写法和方括号写法有什么区别?
点号写法($.store.name)更短、更易读,但只适用于简单的字母数字键。方括号写法($['store']['name'])适用于任意键,包括含空格、连字符或其他特殊字符的键。用点号 / 方括号切换开关即可立即互换。
如何过滤数组元素?
使用过滤语法 [?(@.field op value)]。例如 $.products[?(@.price < 50)] 返回价格低于 50 的产品,$.users[?(@.active == true)] 返回处于激活状态的用户,$.items[?(@.category == 'electronics')] 匹配指定的类别。支持的运算符有 ==、!=、<、<=、> 和 >=。
.. 运算符有什么作用?
双点(..)会对整个结构执行递归搜索。例如 $..author 会找到 "author" 键下的每一个值,无论它嵌套得有多深。
可以使用负数数组索引吗?
可以。$.array[-1] 返回最后一个元素,$.array[-2] 返回倒数第二个,以此类推。你也可以带步长切片,例如 $.book[0:6:2] 表示每隔一个取一个元素。
我的 JSON 数据安全吗?
安全。所有 JSON 解析和 JSONPath 执行都完全在你的浏览器中通过 JavaScript 进行。不会向任何服务器发送数据,关闭页面后也不会留下任何内容。
支持的最大 JSON 大小是多少?
没有硬性限制,但非常大的文件(约 10 MB 以上)可能会因为树形渲染而让浏览器变慢。为了获得最流畅的体验,建议把 JSON 控制在几兆字节以内。
还没有评论,快来发表第一条!