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

资讯详情

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

jq快速上手:3条命令跑通JSON处理,Windows/Linux/macOS安装一步到位

jq快速上手:3条命令跑通JSON处理,Windows/Linux/macOS安装一步到位 jq快速上手3条命令跑通JSON处理Windows/Linux/macOS安装一步到位【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jqcurl接口、贴一段前端返回的配置终端里就出现一坨挤成单行的JSON。你只想知道数据库地址是啥、哪些用户还处于active状态第一反应大概是拷进文本编辑器人肉找。这正是命令行JSON处理要解决的场景——jq从终端读入JSON挑出你要的部分再把结果交回终端。偶尔手动找一次无所谓每天要对着一批接口响应跑肯定希望有一条命令直接出结果。一条命令装好jq 不管你在哪个平台装它都只花一条命令平台安装命令备注Windowswinget install jqlang.jq也可用 choco install jq 或 scoop install jqDebian/Ubuntusudo apt install jqCentOS/RHEL 用 sudo yum install jqmacOSbrew install jqMacPorts 用户用 sudo port install jq装完执行一条命令验证jq --version输出类似下面这样就说明装好了jq-1.8.2需要定制功能比如换一种正则库可以从源码自行构建一般用户用包管理器装的版本就够了。jq常用命令三个场景练手 场景一提取字段——从配置里拿一个嵌套值过滤器基本是“路径写法”按层级用点分隔.database.host 的意思就是“取 database 对象下的 host”。echo {app:shop,database:{host:10.0.1.8,port:5432}} | jq .database.host输出10.0.1.8场景二过滤数组——在用户列表里筛出 active.[] 把数组逐个元素展开select() 只保留满足条件的条目配合 | 就是一条完整的过滤链。echo [{name:alice,status:active},{name:bob,status:disabled}] | jq .[] | select(.statusactive)输出{name:alice,status:active}场景三格式化——把单行JSON变得可读最常用的格式化动作用 . 原样透传整个输入jq 会按2空格缩进、每个键值单独一行重新输出。echo {name:alice,status:active,tags:[a,b]} | jq .输出{ name: alice, status: active, tags: [ a, b ] }如果你的数据已经放在文件里把 echo ... 那段换成文件名即可比如 jq .database.host config.json。各平台安装后的坑点 ⚠️Windows输入 jq 提示“不是内部或外部命令” → 大概率是 jq.exe 所在目录没进 PATH。把目录加进环境变量重开一个终端再试。PowerShell命令里的单引号会被按PowerShell自己的规则解释过滤器用双引号包住更稳过滤器内容别含 $。Linux/macOS下载的二进制文件如 jq-linux64通常没有执行权限先 chmod x 再用 sudo 放进 /usr/local/bin。系统级安装写入系统目录需要 sudo不想用 sudo 的话把二进制放 ~/bin 即可。想深入看哪里 官方手册源文件docs/content/manual/manual.yml全部语法和函数都有描述测试用例tests/里面的 jq.test 收录了大量真实用法示例内置函数参考src/builtin.jq可以直接看到每个内置函数的实现和默认参数把上面三个场景的命令存成 shell 别名之后处理JSON就不用再翻文档了。【免费下载链接】jqCommand-line JSON processor项目地址: https://gitcode.com/GitHub_Trending/jq/jq创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表