JSON 路径提取
JSONPath · 全路径列表 · 节点提取
路径提取
就绪
ABOUT
关于 JSON 路径提取
浏览复杂 JSON 的所有路径,或使用 JSONPath 表达式(如 $..price)精确提取目标字段。
GraphQL 之外,JSONPath 仍是探索 REST API 返回结构最高效的方式之一。先枚举全部路径建立索引,再用表达式精确提取——这一流程可将熟悉新接口的时间从小时级缩短到分钟级。
DEEP DIVE
深入了解 JSON 路径提取
JSONPath 是 XPath 的 JSON 等价物,用表达式定位嵌套数据中的节点。例如 $..price 可递归查找所有 price 字段,$.store.book[*] 可获取数组全部元素。JSONSort 路径工具支持完整 JSONPath 语法,也支持留空列出所有路径。
当接手陌生 API 或分析第三方返回的大型 JSON 时,先列出全部路径是最高效的探索方式——比肉眼扫描数百行文本快得多。
JSONPath 规范有多种实现差异(如过滤表达式、递归 descent)。JSONSort 采用常用语法子集,覆盖 $..field、数组切片、条件过滤等 90% 日常场景。复杂表达式建议先用小样本验证,再应用到完整数据集。
FEATURES
核心能力
全路径枚举
留空 JSONPath 输入框,自动列出 JSON 中所有叶子节点路径。
JSONPath 查询
支持 $、..、[]、*、?() 等标准 JSONPath 表达式。
过滤表达式
使用 ?(@.field > 10) 等条件过滤数组元素。
结果格式化
提取结果以 JSON 格式输出,可直接复制使用。
语法校验
JSON 输入不合法时提示错误行,避免在脏数据上查询。
本地执行
查询逻辑在浏览器内运行,数据不上传。
路径复制
枚举结果可直接复制路径字符串用于代码或文档。
多结果输出
匹配多个节点时以 JSON 数组形式返回,便于后续处理。
HOW TO USE
使用步骤
-
1
粘贴 JSON 数据
-
2
留空列出全部路径,或输入 JSONPath
-
3
查看提取结果并复制
-
4
在顶部选项栏调整缩进、JSON5、排序等高级设置
-
5
一键复制结果,或继续用 Diff / 路径提取等工具深入分析
WORKFLOW
典型工作流
从导入数据到导出结果的完整流程,帮助团队统一 JSON 路径提取 的使用方式。
导入 JSON
粘贴 API 响应或上传配置文件,确保语法合法。
浏览全路径
留空 JSONPath,浏览所有叶子路径建立结构认知。
编写表达式
输入 $..target 或带过滤的表达式,查看提取结果。
落地到代码
复制路径到 lodash get、JMESPath 或文档中的字段说明。
USE CASES
适用场景
前端开发
探索未知 API 响应结构,确定 data.user.list 等取值路径。
后端开发
验证序列化后的 JSON 是否包含预期字段路径。
数据分析师
从复杂嵌套 JSON 中提取特定指标字段。
测试工程师
确认接口返回中存在/不存在某 JSONPath 路径。
QA 自动化
确认回归接口中关键 JSONPath 路径仍存在且类型未变。
爬虫 / 采集
分析第三方 API 响应,确定数据提取路径写爬虫规则。
TIPS
使用技巧
- 接手新 API 时第一步:留空路径框,浏览全部路径建立心智模型。
- $..fieldName 递归查找所有层级中的 fieldName,非常实用。
- 数组过滤用 ?(@.price < 10),可快速筛选符合条件的元素。
- 提取结果可粘贴到「代码生成」工具,反向生成 TypeScript 类型。
- 路径过多时用格式化 + 树视图配合,比纯路径列表更直观。
- JSONPath 表达式区分大小写,字段名需与 JSON 完全一致。
- $.store.book[*].author 是经典示例,可用来快速验证表达式语法。
- 过滤表达式里比较数字时不要加引号:?(@.price < 10)。
- 路径列表导出后可作为接口文档的「字段索引」附录。
- 深层路径过长时,考虑后端 flatten 或 GraphQL 减少前端提取复杂度。
LOCAL VS ONLINE
本地 vs 在线工具
JSONSort 坚持纯前端架构,以下对比说明为何本地化工具更适合处理开发数据。
TROUBLESHOOTING
常见误区与排查
实际使用中容易遇到的问题及建议处理方式,减少反复试错的时间。
路径太多看不过来
建议:先用格式化树视图理解顶层结构,再针对性查询子树。
过滤表达式报错
建议:简化表达式逐步添加条件;确认 @ 引用当前节点语法。
数组 vs 对象混淆
建议:注意 [0] 与 .field 的区别;用全路径列表确认节点类型。
特殊字符键名
建议:含空格或符号的键使用 ["key name"] bracket 表示法。
FAQ
常见问题
支持哪些 JSONPath 语法?
支持 $、..、[]、*、?()、@ 等常用 JSONPath 表达式。
路径列表和查询结果有什么区别?
留空时输出所有路径;输入表达式时输出匹配节点的值。
能处理 JSON 数组根节点吗?
可以。根节点为数组时,路径以 $[0]、$[1] 等形式表示。
为什么我的表达式返回空?
检查字段名大小写、数组索引是否越界、以及 .. 递归是否匹配到预期层级。
能更新 JSON 中的值吗?
当前为只读提取。修改值请编辑 JSON 后重新查询。
数据会上传到服务器吗?
不会。JSONSort 所有工具均在浏览器本地运行,您的输入内容不会发送到任何后端服务器。
需要注册或安装吗?
不需要。打开页面即可使用,无需账号、无需下载客户端,也支持 PWA 离线缓存。
支持多大的文件?
取决于浏览器内存,通常可流畅处理数 MB 级别的数据。超大文件建议先拆分或使用合并清理工具。