✏️JSONPath 表达式输入即查询
📊匹配结果共 0 条
🤖 AI 数据参谋
点下方按钮,让 AI 解读这条表达式的匹配结果,或针对你的取数需求改写更合适的 JSONPath。
📐
语法口径:本工具实现 JSONPath 常用子集——$ 根节点、.key 与 ['key'] 取属性、[0] 数组下标(-1 表最后一个)、[*] 通配全部子项、..key 递归下降(整棵树上找同名属性)、[start:end] 切片(含头不含尾,可省略一端)。过滤表达式 [?(@.price<10)]、脚本 [(@.length-1)]、多选并集 ['a','b'] 属于进阶语法,暂不支持并会给出明确提示,不会静默返回空。结果上限 2000 条防失控。全部求值在浏览器本地完成,点 AI 按钮才发送表达式与匹配摘要(前 3 条 ≤200 字)。
为什么需要 JSONPath 测试工具
接口返回的 JSON 动辄几百行,想确认「$.data.list[*].id 到底取出来什么」,写代码跑一遍太慢。JSONPath 之于 JSON 就像 XPath 之于 XML:一条表达式定位任意嵌套数据。本工具左侧校验 JSON(错误精确到行列),右侧实时列出每条匹配的完整路径与值,调试接口、写爬虫、配 ETL 规则都能即写即验。
和其他 JSON 工具有什么不同
JSON 格式化工具负责「看得清」,本工具负责「取得准」:不只是浏览结构,而是用表达式精确抽取目标字段,并显示每个命中值来自哪条路径——路径本身就是可以直接抄进代码里的取值表达式。
使用方法
- 左侧粘贴 JSON,状态条实时提示是否合法(错误精确到行列);
- 上方输入 JSONPath 表达式,如 $.store.book[*].author;
- 右侧实时列出匹配数、每条匹配的路径与值(超过 200 条只显示前 200 条);
- 不支持的语法(过滤/脚本/并集)会弹出明确中文提示;
- 点「填示例」一键填入示例 JSON 与表达式体验;点 AI 按钮获取结果解读与改写建议。输入自动保存在本浏览器。
更新记录
- 1.02026-10-16全新上线:JSON 实时校验(错误行列提示);JSONPath 求值引擎纯 JS 实现($/.key/['key']/[0]/[*]/..key 递归/[start:end] 切片);不支持的语法明确中文报错;匹配结果路径+值双列展示、计数与前 3 条摘要;内置示例一键填入;接入 AI 数据参谋;纯本地计算,支持黑夜模式。
常见问题
..key 递归下降会重复匹配吗?
不会。递归下降是「在整棵树上找所有名为 key 的属性」,每个命中只出现一次,但不同层级的同名属性会全部列出(例如每本书的 author 和嵌套在其他对象里的 author)。结果按深度优先顺序排列,路径列能看出各自来自哪里。
切片 [start:end] 包含结束下标吗?
不包含,与 JavaScript 的 slice 一致:[0:2] 取下标 0 和 1。start 或 end 可省略([:2] 从头开始、[2:] 到尾结束),负数表示从末尾数([-2:] 最后两个)。
为什么不支持 [?(@.price<10)] 过滤?
过滤表达式需要在表达式里执行比较逻辑,属于完整 JSONPath 规范中最复杂、各家实现差异最大的部分。本工具专注覆盖 90% 日常取数场景(属性/下标/通配/递归/切片),遇到过滤语法会明确提示不支持,而不是悄悄返回空结果让你误以为没匹配到。
JSON 错误提示的行列准吗?
行列基于浏览器 JSON.parse 报错的位置信息换算,指向解析器「第一个读不懂的字符」附近。常见错误如尾部多逗号、单引号、未闭合括号,按提示位置往前检查一两格通常就能找到问题。
💬 留言板 0
全部留言需审核通过后展示
🎉
留言已提交!
审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!