jq 命令行处理 JSON 备忘

举报
didala 发表于 2026/10/30 14:58:47 2026/10/30
【摘要】 什么是 jqjq 是一款轻量级的命令行 JSON 处理器,能读取、过滤、转换 JSON 数据,适合在终端里快速查看接口返回或日志里的 JSON,比临时写脚本更顺手。 基本用法最简单的用法是把 JSON 通过管道交给 jq,. 表示原样输出整个文档:echo '{"name":"demo","count":3}' | jq . 常用过滤器取字段:.name 取出 name 的值取数组元素:....

什么是 jq

jq 是一款轻量级的命令行 JSON 处理器,能读取、过滤、转换 JSON 数据,适合在终端里快速查看接口返回或日志里的 JSON,比临时写脚本更顺手。

基本用法

最简单的用法是把 JSON 通过管道交给 jq,. 表示原样输出整个文档:

echo '{"name":"demo","count":3}' | jq .

常用过滤器

  • 取字段:.name 取出 name 的值
  • 取数组元素:.items[0] 取数组第一个元素
  • 只看键名:keys 列出对象的所有键
echo '{"user":{"name":"didala","tags":["a","b"]}}' | jq .user.name
echo '[10, 20, 30]' | jq '.[1]'

组合与格式化

过滤器可以用管道串联,先取字段再加工;加上 -r 输出原始字符串,去掉引号,方便拼进 shell 脚本:

echo '{"list":[{"id":1},{"id":2}]}' | jq -r '.list[].id'

小结

日常排障先 jq . 看结构,再用字段过滤器逐步收窄;复杂转换先在小数据上试通,再套用到真实接口返回上。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。