☰
jq 入门教程:3步搞定终端里的大段JSON处理
2026/10/4 15:32:11 网站建设 项目流程

jq 入门教程:3步搞定终端里的大段JSON处理

【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jq

jq 是一款轻量级的命令行 JSON 处理器,你可以把它理解成"JSON 世界的 sed 和 grep":终端里进来的 JSON 数据,用它就能切片、过滤、转换。如果你经常要处理 API 返回的数据或 JSON 配置文件,装好它一劳永逸。

先看一个真实场景:终端里的 JSON 大墙

你只想要 3 个字段,却倒出一整页

用 curl 请求一次接口,终端哗啦刷出几百行 JSON。你其实只关心其中两三个字段,但它们藏在几十行之后。

翻屏找、复制到编辑器里搜,都挺磨人。你想要的效果是:只把要的那几个字段拿出来,别的都别给我看。

jq 就是干这个的

jq 的思路很简单:JSON 从管道进来,你写一个小小的"过滤器"(比如.name),它就把你关心的部分单独输出来。它用 C 写成、零运行时依赖,同一个二进制文件在 Linux、macOS、Windows 上行为一致,不存在"换台机器就不好用"的问题。

jq 安装完整指南:Linux、macOS、Windows

Linux 和 macOS:一条命令装好

# Ubuntu / Debian sudo apt install jq # CentOS / RHEL sudo yum install jq # macOS(需要先装 Homebrew) brew install jq

包管理器装完即用,不用管依赖,也不要用管理员权限以外的额外操作。

Windows:直接拿预编译版本

Windows 上最省事的路径是下载官方发布页的预编译.exe,放进 PATH 目录就能用。如果你已经装了 Chocolatey 这类包管理器,一条命令更简单:

choco install jq

当然也可以自己编译源码——仓库里的 Makefile.am 和 configure.ac 就是标准构建入口,但新手强烈建议先用现成的。

装完用一条命令验证

jq --version

能打印出版本号(例如jq-1.8.2)就说明安装成功。再跑一条真实命令试试手感:

echo '{"name": "Alice", "age": 30}' | jq '.name'

输出是带引号的"Alice",一切就绪。

上手实战:格式化、提取字段、遍历数组

一行命令把 JSON 排版整齐

拿到的 JSON 被压缩成一长行没法看?把它交给jq .就行:

cat config.json | jq .

.的意思是"原样通过",但输出会被自动缩进美化。顺带一提,这一步还能当校验用:JSON 本身不合法,它会直接报错。

只提取你要的字段

echo '{"name": "Alice", "age": 30}' | jq '.name'

.name就是"取 name 字段"。字段套得深,就继续往下点:.user.name取的是 user 里面的 name。

数组数据一次处理完

输入是数组时,.[]会把元素逐个展开:

echo '[10, 20, 30]' | jq '.[]'

每个数字单独占一行输出。这就是 jq 的核心玩法——用|把多个过滤器接起来,筛选、改名、求和这类操作都能一步步拼出来。

常用参数速查:-r、-c、-s

三个最常用参数

参数作用什么时候用
-r字符串去掉引号直接输出结果要交给其他命令处理时
-c紧凑输出,一个 JSON 占一行写日志、再传给下一个工具时
-s把所有输入读成一个数组需要对多个 JSON 整体操作时

引号规则,不同 shell 不一样

jq 程序里有很多 shell 也认的特殊字符,所以程序部分务必加引号:Linux/macOS 用单引号,Windows cmd 用双引号(内部双引号要转义),PowerShell 用单引号。漏掉引号是新手报错的第一大来源。

常见坑与解决办法

命令跑了,却没输出想要的

多半是过滤器路径写错了——字段实际叫name2,你却写了.name,结果就是空。正确做法:先jq .看一眼完整结构,确认层级后再写提取表达式,别靠猜。

报 parse error 时别慌

这说明输入本身不是合法 JSON:多半是少了个逗号、字段名没加引号。报错信息会带上行号和列号,照着位置修就行。

下一步学什么

手册和官方教程

完整的过滤器清单和命令行参数在 docs/content/manual/manual.yml;docs/content/tutorial/default.yml 是一份手把手的示例教程,跟着敲一遍比看十遍都管用。

源码和测试用例

核心实现在 src/ 目录;tests/ 下攒了大量测试脚本,里面几乎每个用例都是一条现成的用法示例,遇到想实现的效果可以来这里翻。

学会.field、.[]、|这三样再记熟-r、-c,今天就可以拿一个真实的 API 响应练手了。

【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jq

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询