jq 命令行处理 JSON 备忘
【摘要】 什么是 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)