使用前准备
开始使用本工具前,您需要准备以下内容:
- 一段待查询的JSON数据(可以是从API响应中复制的,也可以是手动编写的)
- 了解基本的JSONPath表达式语法(如
$.store.book[0].title) - 任何现代浏览器(Chrome、Firefox、Edge、Safari 均可)
详细操作步骤
第一步:打开工具页面
在浏览器中访问 JSONPath在线查询工具页面,您将看到左侧为JSON输入区,右侧为匹配结果区的双栏布局。页面顶部提供了一些常用的JSONPath表达式示例,您可以点击「快速插入」按钮直接使用。
第二步:输入JSON数据
将您需要查询的JSON数据粘贴到左侧的输入框中。工具支持以下几种输入方式:
- 直接粘贴:从API响应、配置文件或代码编辑器中复制JSON文本,粘贴到输入框
- 手动输入:直接在输入框中编写JSON数据
- 加载示例:点击「加载示例」按钮,使用内置的示例数据快速体验
第三步:编写JSONPath表达式
在表达式输入框中编写您的JSONPath查询表达式。以下是几个由浅入深的示例:
| 表达式 | 说明 | 匹配结果 |
|---|---|---|
$ | 根节点 | 整个JSON对象 |
$.name | 根对象的name属性 | name的值 |
$.store.book[*] | store下所有book元素 | book数组的全部元素 |
$.store.book[0].title | 第一个book的title | 第一本书的标题 |
$..author | 递归查找所有author | 所有author字段值 |
$.store.book[?(@.price<10)] | price小于10的book | 符合条件的book列表 |
第四步:查看匹配结果
输入表达式后,右侧结果区会立即显示匹配到的数据。此时请注意观察以下信息:
- 匹配数量:显示当前表达式匹配到的结果总数
- 高亮标注:左侧JSON数据中,匹配到的部分会以醒目颜色高亮显示
- 逐条浏览:如果匹配了多个结果,可以通过上下箭头按钮逐一查看
- 结果格式:匹配结果以格式化的JSON形式展示,便于阅读和复制
第五步:复制与导出结果
当您确认查询结果正确后,可以:
- 点击「复制结果」按钮,将匹配到的数据复制到剪贴板
- 直接在结果区域选中文本进行复制
- 记录下当前表达式,用于后续在代码中使用
进阶技巧
递归下降的妙用:当您不确定某个字段在JSON中的具体位置时,使用「..」操作符可以全局搜索。例如 $..price 会递归查找整个JSON中所有名为price的字段,无论它嵌套在多深的层级中。
过滤表达式的灵活运用:过滤表达式支持丰富的比较操作。例如 $.store.book[?(@.category=="fiction")] 可以筛选出category为fiction的书籍,而 $.store.book[?(@.price>10 && @.price<30)] 则可以筛选价格在10到30之间的书籍。
数组切片操作:JSONPath支持类似Python的数组切片语法。例如 $.store.book[0:2] 返回前两个元素,$.store.book[-2:] 返回最后两个元素,$.store.book[::2] 返回每隔一个的元素。
常见问题排查
请检查:1)JSON格式是否合法;2)属性名是否区分大小写;3)数组索引是否从0开始。
请确认:1)括号是否配对;2)字符串值是否用双引号包裹;3)过滤表达式语法是否正确。
UD5工具箱