jq 安装与上手指南:5 条核心命令快速搞定 JSON 处理
2026/9/1 13:43:09 网站建设 项目流程

jq 安装与上手指南:5 条核心命令快速搞定 JSON 处理

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

jq 是一款命令行 JSON 处理器,用于过滤、转换和格式化 JSON 数据,适合开发者、数据分析师与运维工程师。这篇 jq 入门教程覆盖 jq 怎么安装(Windows、macOS、Linux 三种系统),以及如何写出你的第一条 JSON 处理命令。

为什么选 jq

  • 巨型 JSON 难以人工阅读。一份几千行的接口响应,在编辑器里翻半天才能定位到目标字段。jq 用一条命令把任意 JSON 重新缩进排版,结构一目了然:jq . data.json
  • 跨系统脚本需要统一工具。开发机、CI、生产服务器上可用的工具各不相同,JSON 提取逻辑没法复用。jq 在 Windows、macOS、Linux 上行为完全一致,同一套命令随处可跑。
  • 手工提取字段容易出错。用 sed/grep 硬掰嵌套结构,换个字段顺序就全乱。jq 按路径取字段,与字段顺序无关,取错路径也会给出明确报错。

不同系统的 jq 安装方法

在 Windows 上安装 jq

从官方发布资源中获取 Windows 预编译可执行文件(如 jq-windows-amd64.exe)即可直接运行;更省事的是用包管理器一行装好:

scoop install jq

安装完成后重启终端使其生效。

在 macOS 上安装 jq

macOS 上最直接的 jq 安装方式是 Homebrew:

brew install jq

若机器没有 Homebrew,也可以参考下面 Linux 一节用源码构建。

在 Linux 上安装 jq

Ubuntu/Debian 用 apt,CentOS/RHEL 用 dnf 或 yum:

sudo apt install jq

发行版版本过旧时,可从源码构建:

git clone https://gitcode.com/gh_mirrors/jq/jq cd jq && autoreconf -i && ./configure && make

验证安装与首次实测

先确认 jq 是否安装成功,能打印出版本号即通过:

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

第二条命令是 jq 提取字段的最小示例:只返回字段值本身,不带引号包裹的 JSON 符号。

再试两条更常用的:

echo '{"tags":["dev","ops"]}' | jq '.tags[]' jq . data.json

第一条把数组元素逐个展开,是处理列表的基础语法;第二条把data.json美化输出,同时会校验文件是否为合法 JSON,不合法时直接报出错误位置。

高频操作速查

  • 提取嵌套字段jq '.data.id'
  • 遍历数组元素jq '.items[]'
  • 按条件筛选记录jq '.items[] | select(.status == "active")'
  • 给对象新增字段jq '. + {updated: 1700000000}'
  • 压缩为单行输出(方便接管道给下游工具):jq -c .

这些语法可以自由组合,例如jq -c '.items[] | select(.age > 18)'。仓库里 tests/jq.test 收录了大量真实表达式的输入输出对照,适合照着练习。

常见问题排查

Q:安装后终端提示jq: command not found多半是 PATH 未生效。Windows 上检查可执行文件所在目录是否加入 PATH,然后重启终端;Linux/macOS 可用which jq确认实际安装位置。

Q:安装过程中途失败先排查网络与镜像源,重试或换源即可解决大部分问题;源码构建失败时,确认 gcc、make、autoconf 等构建依赖是否齐全。

Q:查询返回 null 或与预期不符先用jq 'keys'jq 'type'查看数据结构,核对路径的层级和拼写再执行。jq 路径错了会安静地返回 null,而不是报错,所以先确认结构再取字段。

以上流程跑通后,jq 安装与基础使用就算完成了。想继续深入,可以翻阅 docs/content/manual/ 里的官方手册源文件,或直接运行 tests/ 中的测试集,观察各类表达式的实际行为。

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

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

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

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

立即咨询