首页/系统/Linux 运维命令速查/jq 解析与提取 JSON
文本处理77 条

jq 解析与提取 JSON

命令行 JSON 处理器:. 原样格式化、-r 输出裸字符串、-c 紧凑单行、select 过滤、管道串联取深层字段,接口调试必备。

Linux 运维命令速查系统更新于 2026-10-12
用途JSON 查询/格式化/提取
语法jq [选项] 过滤器 [文件]
常用选项-r 裸输出 -c 紧凑 -e 按结果给退出码

常用示例

常用示例
curl -s https://api.example.com/status | jq .
curl -s https://api.example.com/status | jq -r '.data.host'
jq -r '.items[] | select(.status=="active") | .name' data.json
jq -c '.items | length' data.json
jq '.port = 8080' conf.json > tmp.json && mv tmp.json conf.json
kubectl/aws/gh 等 CLI 都建议配 jq 使用:命令加 -o json,再 jq 抽字段,比文本 cut 稳得多。

易错点

  • 键名含连字符/特殊字符要加引号:.data['build-id'],写成 .data.build-id 会被解析成减法
  • 超过 2^53 的大整数会按浮点丢精度——需要原样保留时把它当字符串处理或用别的解析器

数据来源与参考

  • man 1 jq(jq 1.7 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌