jq是一个轻量级、灵活且强大的 命令行 JSON 处理器,专门用于解析、过滤、转换和操作 JSON 数据。它类似于针对文本的 grep 或 sed,但专为 JSON 设计,是处理 JSON 数据的瑞士军刀。
常用指令:
1.解析与格式化
美化压缩的 JSON 数据(例如从 API 返回的紧凑 JSON):
echo '{"name":"Alice","age":30}' | jq .
输出:
{
"name": "Alice",
"age": 30
}
2.数据提取
提取 JSON 中的特定字段:
echo '{"user":{"name":"Alice","age":30}}' | jq '.user.name'
输出:
"Alice"
3.过滤与查询
使用类似 JavaScript 的语法筛选数据:
echo '[{"id":1,"active":true},{"id":2,"active":false}]' | jq '.[] | select(.active)'
输出:
{"id": 1, "active": true}
4.转换与计算
修改或计算 JSON 数据:
echo '{"x":3,"y":4}' | jq '{sum: (.x + .y)}'
输出:
{"sum": 7}
5.批量处理
处理 JSON 文件或 API 响应流(如日志分析)。
jq -r '"\(input_filename): requri=\(.req.uri // "null")"' *
安装方法
Linux/macOS:
sudo apt-get install jq # Debian/Ubuntu
brew install jq # macOS (Homebrew)
Windows:
通过 Chocolatey 安装:choco install jq
2795

被折叠的 条评论
为什么被折叠?



