JSON 路径查找器是什么?
JSON 路径查找器是一个交互式工具,可帮助您导航和查询 JSON 数据结构。无论您是使用 API 的开发人员、测试端点的 QA 工程师,还是探索数据集的数据分析师,此工具都可以轻松找到 JSON 中任何数据片段的确切路径。
什么是 JSONPath?
JSONPath 是 JSON 的查询语言,类似于 XML 的 XPath。它允许您使用简单的表达式语法指定 JSON 文档中元素的路径。例如,$.store.book[0].title 指的是商店对象中第一本书的标题。
两种强大的模式
查找路径
评估
您的数据保持私密
- 无上传 — 您的 JSON 数据永远不会离开您的设备
- 无跟踪 — 我们不会收集或存储您输入的任何数据
- 完全隐私 — 一切都在您的浏览器中本地运行
如何使用 JSON 路径查找器
入门指南
加载您的 JSON 数据
将您的 JSON 数据粘贴到左侧的输入面板中,或点击 示例 按钮加载示例数据。您也可以使用 上传 按钮从您的设备加载 .json 文件。
查看树结构
右侧的树视图将自动显示解析后的 JSON 结构,具有颜色编码的数据类型和可折叠的节点。
点击获取路径
点击树视图中的任何键、值或数组元素。路径栏将显示该节点的 JSONPath 表达式,随时可以复制。
查找路径(查找路径模式)
查找路径模式非常适合通过可视化探索发现 JSONPath 表达式:
- 确保在工具栏中选择了 查找路径 模式
- 点击树视图中的任何键、值或数组元素
- 路径栏将显示该节点的 JSONPath 表达式
- 点击 复制 将路径复制到您的剪贴板
评估表达式(评估模式)
评估模式让您测试 JSONPath 查询并实时查看结果:
- 使用工具栏切换开关切换到 评估 模式
- 在输入字段中输入 JSONPath 表达式(例如
$.store.book[?(@.price < 10)]) - 按 Enter 或点击 运行 按钮
- 查看下方的匹配结果,包括匹配数量
- 点击 复制 复制结果
$.store.book[0].title)更简洁,而括号表示法($['store']['book'][0]['title'])适用于键中的特殊字符。功能
交互式树视图
您的 JSON 显示为具有颜色编码数据类型的可折叠树,便于导航。
- 带有紫色徽章的对象(键计数)
- 带有绿色徽章的数组(元素计数)
- 字符串、数字、布尔值和空值的不同颜色
- 用于大型结构的展开/折叠控件
点击获取路径
只需点击树中的任何节点即可立即获得其 JSONPath 表达式。
- 实时路径更新
- 一键复制到剪贴板
- 适用于嵌套结构
- 支持两种表示法样式
JSONPath 评估器
测试 JSONPath 表达式并通过完整的语法支持立即查看结果。
- 子访问和通配符
- 数组索引和切片
- 递归搜索
- 高级过滤
支持的 JSONPath 语法
评估器支持全面的 JSONPath 功能:
| 功能 | 语法 | 示例 |
|---|---|---|
| 子访问 | $.key 或 $['key'] |
$.store.name |
| 数组索引 | $[index] |
$.book[0]、$.book[-1] |
| 通配符 | $.* 或 $[*] |
$.store.*、$.book[*] |
| 递归搜索 | $.. |
$..author |
| 数组切片 | $[start:end:step] |
$.book[0:3]、$.book[0:6:2] |
| 过滤器 | [?(@.field operator value)] |
$.book[?(@.price < 10)] |
其他工具
表示法切换
JSONPath 速查表
智能树控件
常见问题
什么是 JSONPath 表达式?
JSONPath 表达式是一个字符串,描述 JSON 文档中一个或多个元素的路径。它始终以 $(根元素)开头,并使用点或括号更深入地导航结构。
示例:$.users[0].name 获取用户数组中第一个用户的名称。
点号表示法和括号表示法有什么区别?
$.store.name
- 更短更易读
- 仅适用于简单的字母数字键
- 无法处理特殊字符
$['store']['name']
- 适用于任何键
- 处理特殊字符、空格、连字符
- 更冗长但更灵活
我如何过滤数组元素?
使用过滤器语法 [?(@.field operator value)],其中 @ 表示正在评估的当前元素。
常见过滤器示例:
$.products[?(@.price < 50)]— 价格低于 50 的产品$.users[?(@.active == true)]— 仅活跃用户$.items[?(@.category == 'electronics')]— 特定类别中的项目$.orders[?(@.quantity >= 10)]— 包含 10 个或更多项目的订单
.. 运算符有什么作用?
双点(..)执行递归搜索,遍历整个 JSON 结构,查看每个嵌套级别。
示例:$..name 查找所有键为 "name" 的值,无论它们出现在层次结构中的何处 — 无论是在根级别、嵌套在对象中,还是深入数组中。
我可以使用负数组索引吗?
可以。负索引从数组末尾开始计数,无需知道数组长度即可轻松访问末尾的元素。
$.array[-1]返回最后一个元素$.array[-2]返回倒数第二个元素$.array[-3]返回倒数第三个元素
我的数据安全吗?
绝对安全。所有 JSON 解析和 JSONPath 评估完全在您的浏览器中使用 JavaScript 进行。您的数据永远不会离开您的设备。
- 无服务器上传 — 一切都在客户端运行
- 无数据存储 — 关闭页面后不保存任何内容
- 无跟踪或分析您的 JSON 内容
- 完全隐私和安全
支持的最大 JSON 大小是多少?
该工具没有硬性限制,但非常大的 JSON 文件可能会因树渲染和 DOM 操作而影响浏览器性能。
建议:为获得最佳性能,请将 JSON 保持在几兆字节以下。如果您使用非常大的文件,请考虑提取和测试较小的部分。
还没有评论,快来发表第一条!