jq 是命令行下的 JSON 处理工具,用类似管道的方式对 JSON 数据做过滤、取值、变换与格式化,是运维脚本里解析 API 返回和日志的必备神器。
核心优点
- 单二进制:无需依赖,下载即可用,脚本友好。
- 强大表达式:取值、数组操作、条件过滤、字符串处理一应俱全。
- 管道化:与 curl、grep 等命令天然衔接。
- 输出美化:格式化/压缩 JSON,日志排障直观。
快速上手
# 安装(Debian/Ubuntu)
apt install jq
# 解析 API 返回
curl -s https://api.example.com/status | jq '.data.cpu'
# 数组与过滤
curl -s https://api.example.com/hosts | jq '.[] | select(.status=="down")'
# 提取字段到变量
IP=$(curl -s https://api.example.com/ip | jq -r '.ip')
echo "当前 IP: $IP"
适用场景
监控接口数据提取、容器/云平台 API 自动化、日志 JSON 解析、配置模板渲染前的数据整理。
下载地址
- 官方网站:https://jqlang.github.io/jq/
- GitHub 仓库:https://github.com/jqlang/jq