关于 JSONPath查询 工具
JSONPath查询工具帮助你使用JSONPath表达式从JSON数据中提取指定节点。JSONPath是JSON的查询语言,类似于XML的XPath,能精确地定位和提取JSON中的任意数据。
什么是 JSONPath?
JSONPath是一种用于从JSON数据中提取节点的查询语言。它使用类似文件路径的语法,通过$表示根节点,.表示子节点,[]表示数组索引,能够精确定位JSON中的任意元素。JSONPath广泛应用于API数据提取、配置文件查询、数据校验等场景。
JSONPath 语法对照表
| 语法 | 含义 | 示例 |
|---|---|---|
| $ | 根节点 | $ |
| .key | 子节点访问 | $.store.book |
| ['key'] | 子节点访问(带引号) | $['store']['book'] |
| [n] | 数组索引 | $.book[0] |
| [*] | 通配所有元素 | $.book[*].title |
| [start:end] | 数组切片 | $.book[0:2] |
| ..key | 递归下降 | $..title |
| .* | 通配所有属性 | $.store.* |
| [?()] | 过滤表达式 | $..book[?(@.price<10)] |
| @ | 当前节点(过滤中) | [?(@.price>5)] |
JSONPath 与 JSON 遍历的区别
JSONPath是声明式查询语言,JSON遍历是命令式编程。JSONPath简洁高效,适合一次性提取;JSON遍历灵活强大,适合复杂逻辑。
使用场景
- API数据提取:从复杂API响应中提取特定字段。
- 配置文件查询:从大型JSON配置中查找配置项。
- 数据校验:验证JSON结构中是否存在特定节点。
- 日志分析:从JSON格式日志中提取关键字段。
- 测试断言:API测试中验证响应数据的特定路径。
- 数据转换:提取节点后重新组装成新结构。
如何使用
- 在左侧输入框粘贴JSON数据。
- 在路径输入框中输入JSONPath表达式。
- 点击「查询」按钮执行查询。
- 右侧显示匹配结果(JSON格式)。
- 点击「复制」将结果复制到剪贴板。
功能特点
- 支持完整的JSONPath标准语法。
- 支持数组索引、切片、通配符。
- 支持递归下降(..)查找任意层级。
- 支持过滤表达式[?(@.field op value)]。
- 查询结果保留原始数据类型。
- 纯前端实现,数据不外传。
常见问题 FAQ
Q:什么是JSONPath?
A:JSONPath是一种用于从JSON数据中提取节点的查询语言,类似XML的XPath,通过路径表达式定位JSON中的数据。
Q:支持哪些语法?
A:支持$根节点、.子节点、[n]数组索引、[*]通配符、..递归下降、[start:end]切片、[?()]过滤表达式等。
Q:数据会被上传吗?
A:不会。所有处理在浏览器本地完成,数据不外传。
Q:查询无结果怎么办?
A:请检查JSONPath表达式语法是否正确,以及JSON数据结构是否匹配。可先用简单路径(如$)测试。