Agent Skills
返回列表
JSONPath 查询器

JSONPath 查询器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1b049da/jc20264588 到当前 AI 助手。

技能介绍

从嵌套 JSON 中按路径取数

当你面对一棵客户树,其中每个节点下又挂着多条交易记录,需要快速筛出 amount 超过 100000 的那一批时,逐个遍历节点既低效又容易写错。配置化字段抽取也面临同样的问题:路径通常写在配置文件里,需要一套稳定的、可预期的查询语义来定位数据。

工作原理

这个技能的核心是 JSONPath({ path, json }):给定一个 JSONPath 表达式和目标 JSON,返回匹配的节点集合。

关键步骤:

  • 依赖 jsonpath-plus,支持过滤表达式如 $.customers[*].deals[?(@.amount>100000)]
  • 结果统一为数组,便于后续表格化展示
  • 默认 wrap: false,也可按需包装
  • path 为空或语法非法时,返回 { ok: false, error } 而不是抛异常
  • 实现要点标注 小四原创

适用边界

  • 路径定位用 JSONPath,复杂数据变换建议用 JSONata;两者并存时需向用户说明
  • 不要将不可信用户输入直接拼接进 path 而不校验,否则可能产生注入式异常路径
  • 非法 path 会被捕获并返回错误对象,不要把整棵 JSON 树打印进 console

使用场景

  • 面对嵌套客户树,用 `$.customers[*].deals[?(@.amount>100000)]` 取高金额交易列表
  • 配置化抽取场景:路径写在配置里,程序按 JSONPath 读取指定字段
  • Demo 工具箱里试 JSONPath,确认表达式能正确取到目标节点
  • 需要从大 JSON 中按条件过滤数组元素,并把结果整理成表格展示

适合人员

  • 后端工程师:需要从嵌套 JSON 中按路径取数,再做阈值过滤或表格化输出
  • 前端开发者:在配置化字段抽取中用 JSONPath 描述要展示的字段位置
  • 数据分析师:从客户树或交易数据中筛出高金额名单并交付给下游
  • Agent 开发者:需要可预测的 JSONPath 查询能力并把错误路径安全捕获