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'

Tags: 运维

添加新评论