linux工具:json解析工具jq
jq 是一个轻量级、功能强大的 JSON 解析工具,专门用于 查询、格式化、修改 JSON 数据。
安装
yum install -y jq
或直接下载二进制文件
curl -Lo /usr/local/bin/jq https://github.com/stedolan/jq/releases/latest/download/jq-linux64
chmod +x /usr/local/bin/jq
检查是否安装成功:jq --version
基本用法
jq '<过滤表达式>' <JSON 文件或命令输出>
格式化:echo '{"name":"Alice","age":25,"city":"Shanghai"}' | jq .
获取 JSON 中的某个字段:echo '{"name":"Alice","age":25}' | jq '.name'
echo '{"person": {"name": "Alice", "age": 25}}' | jq '.person.name'
解析数组,假设json数据如下,提取所有 name:echo '{"users":[{"name":"Alice","age":25},{"name":"Bob","age":30}]}' | jq '.users[].name'
过滤json数据,筛选年龄大于30的用户:echo '[{"name":"Alice","age":25},{"name":"Bob","age":30},{"name":"Charlie","age":35}]' | jq '.[] | select(.age > 30)'
修改 JSON 数据:echo '{"name":"Alice","age":25}' | jq '. | {username: .name, age: .age}'
统计json数组长度:echo '[{"name":"Alice"},{"name":"Bob"}]' | jq 'length'