jq 命令行 JSON 处理器使用全解:从零安装到跑通三个高频命令
jq 命令行 JSON 处理器使用全解从零安装到跑通三个高频命令【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jq你又一次盯着三百行的 API 返回手动数括号找某个字段或者干脆把 JSON 粘到网页格式化工具里再贴回来。jq 就是为这件事而生的一个命令行 JSON 处理器纯 C 编写、零运行时依赖一条命令就能完成切片、过滤、转换。本文讲清楚它如何在 Windows、Linux、macOS 上三分钟装好以及最常用的三条命令。装好它按你的环境二选一不用背各系统的安装流程下面这张表就是全部哪一行是你的环境就抄哪一行环境一行命令备注macOSHomebrewbrew install jq最省事Mac 用户首选Ubuntu / Debiansudo apt update sudo apt install jq包源版本可能落后官方一两个小版本CentOS / RHELsudo yum install jq同上WindowsScoopscoop install jq自动进 PATH无需额外配置WindowsChocolateychoco 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-onigurumabuiltin 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装不上 / 跑不通先过这三关PATH 没加装完命令找不到Windows 下跑where jq、Linux/macOS 跑which jq查不到就把安装目录加进 PATH重开终端Scoop 默认装在~/scoop/shims。权限问题手动放置二进制文件时先chmod x jq系统级安装用sudo。引号问题报错的第一大来源。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),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →