无需登录 数据私有 本地保存

JSONPath在线查询工具 - JSON数据路径提取

69
0
0
0

使用前准备

开始使用本工具前,您需要准备以下内容:

  • 一段待查询的JSON数据(可以是从API响应中复制的,也可以是手动编写的)
  • 了解基本的JSONPath表达式语法(如 $.store.book[0].title
  • 任何现代浏览器(Chrome、Firefox、Edge、Safari 均可)
提示:如果您还不熟悉JSONPath语法,不用担心——本工具支持边输入边预览,您可以自由尝试不同的表达式组合,通过高亮反馈快速理解每种语法的效果。

详细操作步骤

第一步:打开工具页面

在浏览器中访问 JSONPath在线查询工具页面,您将看到左侧为JSON输入区,右侧为匹配结果区的双栏布局。页面顶部提供了一些常用的JSONPath表达式示例,您可以点击「快速插入」按钮直接使用。

第二步:输入JSON数据

将您需要查询的JSON数据粘贴到左侧的输入框中。工具支持以下几种输入方式:

  • 直接粘贴:从API响应、配置文件或代码编辑器中复制JSON文本,粘贴到输入框
  • 手动输入:直接在输入框中编写JSON数据
  • 加载示例:点击「加载示例」按钮,使用内置的示例数据快速体验
注意:输入的JSON必须是合法的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)过滤表达式语法是否正确。