SuperAPI AI 工具集

jq

数据与分析

查看项目

更新于 10-16 07:11

技能介绍

jq 是一个命令行 JSON 处理器,主要用于提取、过滤和转换 JSON 数据。

用途 jq 面向需要在命令行或脚本中处理 JSON 的场景,可以对 JSON 文件或标准输入中的数据进行查询、筛选和结构变换。

主要能力 根据提供的快速参考,jq 支持以下操作:

  • 访问字段:.key 获取键值,.a.b.c 进行嵌套访问。
  • 数组操作:.[0] 取第一个元素,.[] 遍历数组。
  • 过滤:.[] | select(.x > 5) 按条件筛选。
  • 重塑结构:{a: .x, b: .y} 构造新对象。
  • 增删字段:. + {new: "val"} 添加字段,del(.key) 删除字段。
  • 统计与聚合:length 计数,[.[] | .x] | add 求和,keys 列出键,unique 对数组去重,group_by(.x) 分组。

使用方式 基本调用形式为: jq '[filter]' [file.json] 或通过管道输入: cat file.json | jq '[filter]'

常用标志:

  • -r:原始输出(不带引号)
  • -c:紧凑输出
  • -s:将输入合并为数组
  • -S:对键排序

示例:

  • jq '.users[].email' data.json:提取邮箱
  • jq -r '.name // "default"' data.json:带默认值回退
  • jq '.[] | select(.active)' data.json:筛选 active 项
  • jq -s 'add' *.json:合并多个文件
  • jq '.' file.json:美化输出

安装 macOS / Linux(Homebrew): brew install jq

所有平台:可参考 jqlang.org/download 获取软件包、二进制文件与构建说明。

适用场景 适合在命令行中快速查看、筛选和转换 JSON 数据,也适合在脚本中批量处理 JSON 文件、合并多个 JSON 文件或提取特定字段。

限制 资料未提供关于性能上限、支持的最大数据规模、版本兼容性、错误处理细节或平台特定限制的说明,暂未提供。