素材阁

jq 速查表

共 36 条jq 常用用法,覆盖基础、过滤选择、数组对象、变换函数与输出技巧五组场景, 逐条给出写法与说明。支持搜索与分类筛选,点击命令即可复制。

基础

jq 的过滤器语言,点号 . 代表当前输入。

命令说明
格式化 / 美化输出 JSON
压缩为单行输出
读取字段 a 的值
读取嵌套字段
字段为 null 时提供默认值
字段不存在时不报错,返回 null
从零构造 JSON(-n 不读输入)

过滤与选择

select 用于按条件保留元素。

命令说明
遍历数组,逐个输出元素
筛选年龄大于 18 的用户
按字段值筛选
过滤数组,仅保留 active 为真的项
取数组第一个 / 最后一个元素
按长度条件筛选

数组与对象操作

方括号 [] 用于构造新数组。

命令说明
长度:数组元素数 / 对象键数 / 字符串长度
取数组第一个元素
抽取某字段组成新数组
构造只含指定字段的新对象
列出对象的全部键
按字段排序
按字段分组
数组求和 / 字符串拼接
按字段去重

变换与函数

赋值与 map 可批量修改数据。

命令说明
聚合求和为对象
对象转键值对数组(from_entries 反向)
转大写(ascii_downcase 转小写)
批量给价格涨 10%
按条件过滤/保留
仅保留数字类型元素
批量修改所有键名

输出格式与技巧

开关与变量让 jq 更适配脚本。

命令说明
原始字符串输出(不加引号)
把多个文件合并为一个数组
从命令行传入字符串变量
一次输出多个字段
输出为 CSV 行
组合:转键值对后筛选
从数组或对象中移除指定项

使用说明

jq 是命令行处理 JSON 的利器,但过滤语法需要记。这张表覆盖基础取值、过滤选择、数组对象操作、变换函数与输出技巧。

  1. 在搜索框输入「筛选」「排序」「分组」「求和」等关键词定位用法。
  2. 点击命令复制后,把 file.json 换成自己的文件名,或用管道接在其他命令后面。

常见问题

jq 里的 . 是什么意思?
点号 . 代表当前输入对象,.a 取字段 a,.[0] 取数组第一个元素,.a.b 逐级取值。
怎么输出不带引号的字符串?
加 -r 开关,如 jq -r ".name",会以原始字符串形式输出,便于脚本使用。

延伸阅读

相关工具