Linux下解析JSON主要用jq工具,它轻量强大、支持管道;安装后可用.key提取字段、-r原始输出、select()过滤、.[]展开数组等操作处理嵌套与数组数据。

Linux 下解析 JSON 主要用 jq,它轻量、强大、支持管道,是命令行处理 JSON 的事实标准。
大多数发行版自带包管理器可一键安装:
sudo apt install jq
sudo yum install jq 或 sudo dnf install jq
brew install jq
装完运行 jq --version 确认是否就绪。
jq 的核心是“过滤器”,用点号 . 表示当前对象,用 .key 提取字段,用 .[index] 取数组元素。
例如有文件 user.json:
{
"name": "Alice",
"age": 30,
"hobbies": ["reading", "cycling"]
}提取姓名:jq '.name' user.json → "Alice"
提取年龄并去掉引号(用 -r 原始输出):jq -r '.age' user.json → 30
取第一个爱好:jq -r '.hobbies[0]' user.json → reading
实战中常需筛选、重组或拼接数据:
jq 'select(.age > 25)' users.json(保留 age 大于 25 的条目)jq -c '.' data.json
jq '{username: .name, years: .age}' user.json
jq -r '.name + " is " + (.age|tostring) + " years old"' user.json
配合 curl 使用很常见,比如查公网 IP:curl -s https://httpbin.org/ip | jq -r '.origin'
JSON 经常多层嵌套或含数组。用 .[] 展开数组,| 连接多个操作:
[
{"id": 1, "tags": ["web", "linux"]},
{"id": 2, "tags": ["cli", "json"]}
]列出所有 tag:jq '.[].tags[]' data.json
只取含 "linux" 的项:jq 'map(select(.tags[] == "linux"))' data.json
统计 tag 总数:jq '[.[]|.tags|length]|add' data.json
基本上就这些。jq 不复杂但容易忽略细节,多练几个真实 JSON 就上手了。
以上就是Linux 怎么解析 JSON?jq 实战教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号