跳到主要内容
← 返回

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

数据
本地运行 · 不上传

在线 JSONPath 查询工具:使用 JSONPath 表达式从 JSON 数据中提取特定字段。支持过滤器、递归下降、通配符。

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

下一步

使用指南

从巨大 JSON 取 store.book[*].title 这类片段,手写循环易错。本工具输入 JSON 与 JSONPath(jsonpath-plus)返回匹配列表,本地查询适合调试 API。注意:部分方言的负数下标简写可能静默不匹配。

1. 执行查询

粘贴 JSON,输入如 $.data.items[*].id 的路径,查看匹配列表。把稳定路径记进文档或测试,避免口头描述「第三个数组里的名字」。

  1. 粘贴 JSON。
  2. 输入路径并查看匹配。
  3. 沉淀稳定路径到文档/测试。

2. 表达式速记

$ 为根;点号或括号取字段;[*] 扫数组。过滤可用 ?(@.price<10) 这类谓词(视库细节)。可先用路径生成器点选,再回本页微调。

  • 先短路径冒烟。
  • 过滤条件循序渐进。
  • 生成器与查询页配合。

3. 末元素等踩坑

文档中的 [-1] 在 jsonpath-plus 可能静默无匹配。取末项请改用明确过滤或其它索引方式。「路径看起来对但为空」先怀疑方言,再怀疑数据。

4. 静默失败与大声失败

路径写错常得空数组不一定抛错;JSON 解析失败会大声报错。大结果集可能卡 UI,先过滤再看。

  • 用已知有值字段冒烟。
  • 先修 JSON 再修路径。
  • 控制结果集大小。

5. 与其它 JSON 工具

格式化看结构,扁平化变表,JSONPath 定点抽取。排查字段位置:先格式化,再写路径,最后写进断言。

6. 安全与性能

查询在本地内存完成,但超大 JSON 仍可能拖慢页面。不要粘贴未脱敏生产整包;裁剪样例足够验证路径。

常见问题

常用语法都覆盖(基于 jsonpath-plus):点号访问 $.store.book、递归下降 $..book、通配符 $.*、过滤器 $[?(@.price < 10)] 等。拿不准路径时,可先用站内 jsonpath-generator 点选节点生成,再回本页微调。

常见三种:路径与 JSON 结构不匹配(去 jsonpath-generator 点选验证);表达式首尾带了空格或换行(本页已自动剔除);用了当前方言不支持的写法——例如负下标 [-1] 在 jsonpath-plus 里会静默无匹配,取末项请改用 [(@.length-1)]。空表达式会直接报错,不会静默返回空。

先怀疑方言,再怀疑数据:jsonpath-plus 对部分简写不兼容。然后拿已知有值的字段(如 $.data.items[0].id)做冒烟测试;JSON 本身不合法会大声报错,先修 JSON 再修路径。结果集太大可能卡 UI,先收窄查询再看。

JSONPath 是路径表达式语言,语法接近 JavaScript,适合在浏览器里调试 API 响应、定点抽取字段;jq 是独立命令行工具,转换能力更强但语法自成一套。临时查数据用本页快,沉淀进 CI 脚本时再考虑 jq。

查询在本地内存执行、数据不上传,技术上可行,但不建议:超大 JSON 会拖慢页面,未脱敏数据也放大泄露面。先裁剪出足够验证路径的最小样例,并把跑通的稳定路径记进文档或测试,避免口头描述「第三个数组里的名字」。

相关工具

相关文章