jq 速查表
jq 是轻量级的命令行 JSON 处理器,类似 sed/awk 专为 JSON 设计,支持过滤、映射、转换、聚合等操作。
更新: 2026-07-20·20 条命令
快速开始
``bash
jq '.' data.json
jq '.name' package.json
jq -r '.version' package.json
jq '.[] | select(.age > 30)' users.json
``
启动模式(20)
| 命令 | 难度 | ||
|---|---|---|---|
jq --help显示 jq 帮助 | 基础 | jq --help | |
jq '.' file.json格式化输出 JSON(美化+着色) | 基础 | jq '.' data.json | |
jq '.key'提取指定 key 的值 | 基础 | jq '.name' package.json | |
jq '.a.b.c'提取嵌套 key(链式访问) | 基础 | jq '.dependencies.jquery' package.json | |
jq '.[]'遍历数组元素 | 中级 | jq '.[]' array.json | |
jq '.[0]'取数组第一个元素 | 基础 | jq '.[0]' array.json | |
jq '.[] | .name'遍历数组并提取每个元素的 name | 中级 | curl -s https://api.github.com/repos/jqlang/jq | jq '.owner | {login, id}' | |
jq '. | {key1, key2}'选择指定字段构造新对象 | 中级 | jq '{name, version}' package.json | |
jq 'select(.age > 30)'按条件过滤数组 | 中级 | jq '.[] | select(.age > 30)' users.json | |
jq -r原始输出(不带引号) | 基础 | jq -r '.name' package.json | |
jq -c紧凑输出(每行一个 JSON) | 基础 | jq -c '.[]' data.json | |
jq -f从文件读取 jq 过滤器 | 中级 | jq -f my-filter.jq data.json | |
jq 'group_by(.key)'按指定 key 分组 | 高级 | jq 'group_by(.category)' data.json | |
jq 'sort_by(.key)'按 key 排序 | 中级 | jq 'sort_by(.stars) | reverse' repos.json | |
jq 'length'计算数组长度 | 基础 | jq 'length' array.json | |
jq 'keys'列出对象的所有 key | 基础 | jq 'keys' package.json | |
jq map select对数组每个元素应用映射 | 中级 | jq 'map(select(.version > "1.0"))' deps.json
| |
jq -s将多个 JSON 对象读入数组(slurp) | 中级 | jq -s '.' file1.json file2.json | |
jq -n使用 null 输入(测试过滤器) | 中级 | jq -n '{a: 1, b: 2}' | |
jq 'add'数组求和 | 中级 | jq '[.[].price] | add' items.json |
本速查表数据整理自各工具官方文档。最后更新: 2026-07-20。