工具用的顺手吗?
你的反馈能帮助我们做得更好
通过JSONPath表达式从JSON文档中精准提取数据,支持递归查询和过滤表达式
请输入 JSON 并填写 JSONPath 表达式
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
JSONPath是写在JSON文档上的查询表达式:根符号$指向整份输入,再用对象键或数组位置逐层定位。RFC 9535定义了通用JSONPath语法;当前解析页实现的是其中一部分基础写法,包括$.store.book[0].title这样的点语法、带引号的键名下标、非负数组下标和[*]通配符。每一步都作用于上一层得到的值,通配符会展开当前对象或数组的直接成员。
规范依据
结果区将匹配到的值放进一个JSON数组,即使只找到一个值也仍以数组表示;没有匹配项时显示空数组。结果只包含匹配值,不包含它们在原文档中的路径。输入不是有效JSON时会出现JSON解析错误;表达式不符合本页支持的写法时则显示路径错误,两类问题需要分别检查。
若JSON根节点本身是数组,可从$[*]开始选取它的直接元素;若根节点是对象,先写出键名路径再使用通配符。需要访问带点号、空格等字符的键名时,可以改用带引号的方括号写法,例如$['store']。无论匹配值原先位于对象还是数组中,结果区都只整理值本身,方便继续复制为JSON数据。
指南
按步骤完成操作,并通过示例核对输入与结果。
在JSON输入框粘贴完整的对象或数组,也可以载入页面内置示例。先确认字段名、引号和逗号符合JSON格式。
表达式以$开始。点语法可逐层取对象键;方括号可写非负数组下标或带引号的键名;需要展开一层成员时可用[*]。
例如内置示例中的书名可用$.store.book[*].title选出,结果为["Sayings of the Century","Sword of Honour"]。修改JSON或表达式后,查看右侧匹配数量及数组内容,并可复制结果。
表达式按从左到右的顺序逐层走访:对象键用于进入属性,数组下标用于指定一个元素,通配符用于展开当前层。可先从较短路径开始确认结构,再逐段补上更深的键名;这样更容易发现拼错的字段或层级。
场景
查看这项工具在不同工作与生活流程中的用法。
开发人员可把一段脱敏后的响应JSON放入输入框,用路径抽取某个对象键或数组字段,先确认嵌套层级和返回值形状。
团队维护固定JSON样例时,可用同一条基础表达式检查字段是否位于预期路径,或用通配符查看某一层数组对象的同名属性。
问答
集中解答高频疑问与容易混淆的问题。
结果区统一以数组列出匹配值;单个值会成为只有一个元素的数组。这样可以和多项匹配、无匹配的空数组保持同一种结果结构。
先确认键名大小写与JSON完全一致,再逐层核对对象键和数组下标。若某层不存在该键或下标超出数组范围,本页会得到空结果,而不是自动猜测相近字段。
可以。例如$.store.book[*].title会逐个查看book数组当前这一层的元素,并返回各元素的title值。
须知
使用前了解适用范围、结果限制与必要提醒。
RFC 9535中的JSONPath语法比当前解析页实现的基础子集更广。递归下降符..、过滤器?()、切片、负数下标和联合选择器不属于本页支持写法;遇到路径错误时,不要把其他实现的扩展语法直接当作这里也可用。JSON和路径在当前浏览器中解析,输入数据过大时页面响应会受设备内存和处理能力影响;机密令牌或个人信息应先脱敏再粘贴。
此页面返回匹配值数组,并不生成标准RFC 9535所述的节点路径清单;需要把结果用于程序时,应依据下游接口期待的结构决定是否还要自行封装或保留原路径。点语法适用于简单键名,特殊键名可尝试引号括起来的方括号写法。
推荐
查找相关工具、专题与可用的 API 能力。