news 2026/9/2 10:37:44

jq 命令行 JSON 处理器使用全解:从零安装到跑通三个高频命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jq 命令行 JSON 处理器使用全解:从零安装到跑通三个高频命令

jq 命令行 JSON 处理器使用全解:从零安装到跑通三个高频命令

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

你又一次盯着三百行的 API 返回,手动数括号找某个字段,或者干脆把 JSON 粘到网页格式化工具里再贴回来。jq 就是为这件事而生的:一个命令行 JSON 处理器,纯 C 编写、零运行时依赖,一条命令就能完成切片、过滤、转换。本文讲清楚它如何在 Windows、Linux、macOS 上三分钟装好,以及最常用的三条命令。

装好它:按你的环境二选一

不用背各系统的安装流程,下面这张表就是全部,哪一行是你的环境就抄哪一行:

环境一行命令备注
macOS(Homebrew)brew install jq最省事,Mac 用户首选
Ubuntu / Debiansudo apt update && sudo apt install jq包源版本可能落后官方一两个小版本
CentOS / RHELsudo yum install jq同上
Windows(Scoop)scoop install jq自动进 PATH,无需额外配置
Windows(Chocolatey)choco install jqScoop 的替代方案

📦 以上路线装的都是官方预编译二进制,单文件、无依赖地狱,装完即可用。内网环境用不了包管理器时,从发布页下载对应平台的二进制,丢进 PATH 目录即可(Windows 下记得改名jq.exe)。装完跑一下jq --version,看到jq-1.8.x就说明配置完成。

进阶:从源码编译

只有需要静态链接或定制功能时才值得走这条路:

git clone https://gitcode.com/GitHub_Trending/jq/jq cd jq && git submodule update --init && autoreconf -i ./configure --with-oniguruma=builtin && make -j8 && sudo make install

三个高频场景,命令直接抄

假设当前目录有个users.json[{ "id": 1, "name": "alice", "status": "active" }, { "id": 2, "name": "bob", "status": "closed" }]

取字段

过滤表达式用.字段.子字段逐层下钻,把要取的值路径写出来就行;数组用从 0 开始的[n]下标。

jq '.[0].name' users.json

输出:"alice"

筛数据

.[]逐个遍历数组元素,select只保留满足条件的项,条件里可以写任意常规 jq 表达式;竖线|表示后面还能接更多处理步骤。

jq '.[] | select(.status == "active")' users.json

输出:{"id":1,"name":"alice","status":"active"}

转格式

-r输出原始字符串,配合@tsv把 JSON 直接变成分列的表格,粘进 Excel 就能用;想要紧凑单行输出则换-c参数。

jq -r '.[] | [.name, .status] | @tsv' users.json

输出:alice active

装不上 / 跑不通?先过这三关

  1. PATH 没加:装完命令找不到,Windows 下跑where jq、Linux/macOS 跑which jq,查不到就把安装目录加进 PATH,重开终端(Scoop 默认装在~/scoop/shims)。
  2. 权限问题:手动放置二进制文件时先chmod +x jq;系统级安装用sudo
  3. 引号问题:报错的第一大来源。Linux/macOS 用单引号包裹 jq 表达式,内部双引号原样写;Windows cmd 必须外层双引号、内部双引号转义,如jq ".[] | select(.status == \"active\")"

三条都不中招的话,多半是包源里的 jq 版本太旧、不认识新语法,先升级,或走上面的源码路线。

再往下走一步

  • 完整函数手册(官方手册的 YAML 源文件)
  • 真实测试用例(几十条可直接抄的过滤表达式)

找一份手头的 API 真实返回,对着它跑一条select——jq 的用法,从第一条跑通的命令才开始。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 10:36:36

Python数据科学实战:上市公司财务风险预测全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 10:36:13

RVCT31嵌入式编译器:ARM经典工具链深度解析

简介:本资源为ARM官方RealView编译工具链RVCT 3.1完整安装包,面向嵌入式系统开发者、ARM平台固件工程师及高校嵌入式课程学习者,专用于C/C语言在ARMv4–ARMv7架构(含Thumb/Thumb-2指令集)上的高效编译、链接与调试。压…

作者头像 李华
网站建设 2026/9/2 10:33:50

Continue 在 JetBrains IDE 的安装、配置与排障完整指南

Continue 在 JetBrains IDE 的安装、配置与排障完整指南 【免费下载链接】continue open-source coding agent 项目地址: https://gitcode.com/GitHub_Trending/co/continue Continue 是一个开源的 AI 编程助手,能在 JetBrains 系列 IDE(IntelliJ…

作者头像 李华
网站建设 2026/9/2 10:33:06

LCL并网逆变器双闭环建模与控制器实战设计

简介:本资源是一套面向电力电子与新能源并网方向的MATLAB/Simulink仿真教学与研究资料,聚焦LCL滤波器并网逆变器的双闭环控制策略设计与验证,适用于高校电气工程专业高年级本科生、研究生及从事光伏/风电并网系统开发的工程师。资源共5个文件…

作者头像 李华
网站建设 2026/9/2 10:32:08

三星V10 BV-NAND突破400层:存储密度提升58%的技术解析与开发影响

大家好,我是专注于存储技术分享的博主。最近,三星在存储领域又放了个“大招”,正式展示了业界首款超过400层的V10 BV-NAND闪存。对于开发者、硬件爱好者以及所有关心数据存储未来的人来说,这绝对是一个值得深入探讨的技术里程碑。…

作者头像 李华