十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何 5 分钟装好 jq:Windows、Linux、macOS 跨平台完整指南

如何 5 分钟装好 jq:Windows、Linux、macOS 跨平台完整指南 如何 5 分钟装好 jqWindows、Linux、macOS 跨平台完整指南【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jq你正在排查线上问题接口返回一大坨嵌套 JSON只想抽出orders[0].status。这就是 jq 要解决的场景一条命令完成切片、过滤、映射的命令行 JSON 处理器C 语言编写零运行时依赖。一条命令装好 jq三系统速查表按你的系统选一行执行即可装完用最后一行验证。你的系统是安装命令macOSbrew install jqUbuntu / Debiansudo apt install jqCentOS / RHELsudo yum install jqWindowsScoopscoop install jqWindowsChocolateychoco install jqWindows预编译包从发布页下载jq-windows-amd64.exe重命名为jq.exe并放入 PATH任意系统源码编译见下方命令源码编译走下面这套和 README.md 里的官方步骤一致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编译完成后运行这条命令确认版本jq --version会看到jq-1.8.x之类的版本号说明装好了。五分钟上手四个最高频操作每个操作一条命令跑一遍你就有了基本手感。jq 提取嵌套字段的写法点路径取字段和 Python 里点字典一个手感echo {user:{name:alice},status:active} | jq .user.name输出是 JSON 字符串alice注意带引号。jq 按条件过滤数组select留下满足条件的元素echo [{id:1,ok:true},{id:2,ok:false}] | jq .[] | select(.ok)输出只剩id为 1 的对象另一个被过滤掉。jq 格式化压缩 JSON把一行挤满的 JSON 展开成缩进结构jq . raw.json输出是带缩进的可读 JSON方便肉眼核对字段。jq 管道串联上一条命令jq 的输入输出就是为管道设计的cat users.json | jq -r .data[].name-r让字符串裸输出一行一个名字可以直接接grep或xargs。两个真实工作流解析 API 响应只留失败订单这条命令拉取接口响应筛出失败订单并只打印 IDcurl -s 接口地址 | jq -r .orders[] | select(.statusfailed) | .id每行一个订单 ID可以直接xargs喂给重试脚本。批量核对一批配置文件循环遍历目录里的 JSON逐个取出数据库地址for f in config/*.json; do echo $f; jq -r .db.host $f; done输出是文件名加一行地址扫一眼就能发现哪个环境配错。按症状排错遇到报错先对号入座下面四个症状覆盖了绝大多数情况。jq 提示命令找不到PATH 不生效现象jq: command not found。原因安装目录没进 PATHWindows 上改名后的jq.exe所在文件夹同理。修复Linux/macOS 先跑which jq确认再把安装目录写进~/.bashrc的 PATH 后重开终端Windows 当前会话执行set PATH%PATH%;C:\jq即可临时生效。过滤器里的引号转义出错现象过滤条件含引号时报 parse error。原因shell 外层引号与 jq 内部字符串引号冲突。修复外层一律用单引号过滤器内部用双引号值里本身带双引号时用\转义。安装时权限不足现象make install报 permission denied。原因默认装到/usr/local/bin普通用户没有写权限。修复加sudo或者用./configure --prefix$HOME/.local装到用户目录再把~/.local/bin加进 PATH。版本过旧新函数用不了现象jq --version显示 1.5 或 1.6某些函数不存在。原因发行版默认仓库里的版本老旧。修复优先brew upgrade jq或重新编译源码也可以直接放一个预编译二进制到 PATH 前面覆盖。延伸方向想继续深入仓库里有三处现成入口。全部内置函数集中在 src/builtin.jq对照源码看比翻手册快。官方回归测试在 tests/jq.test本地跑make check就能复现。完整函数手册的源文件是 docs/content/manual/manual.yml需要时可自行渲染。jq 把嵌套 JSON 变成一层层可点取的路径。装好之后拿一份你正在调的真实接口响应练上十分钟比读十遍文档都管用。【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jq创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表