Linux 怎么解析 JSON?jq 实战教程
发布时间 - 2025-12-04 00:00:00 点击率:次Linux下解析JSON主要用jq工具,它轻量强大、支持管道;安装后可用.key提取字段、-r原始输出、select()过滤、.[]展开数组等操作处理嵌套与数组数据。
Linux 下解析 JSON 主要用 jq,它轻量、强大、支持管道,是命令行处理 JSON 的事实标准。
安装 jq
大多数发行版自带包管理器可一键安装:
- Ubuntu/Debian:
sudo apt install jq - CentOS/RHEL/Fedora:
sudo yum install jq或sudo dnf install jq -
macOS(Homebrew):
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 - 合并多个 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
# centos
# js
# json
# ubuntu
# 工具
# mac
# curl
# macos
# dnf
# 格式化输出
# cos
# select
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
如何用wdcp快速搭建高效网站?
如何快速生成橙子建站落地页链接?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
javascript如何操作浏览器历史记录_怎样实现无刷新导航
网站图片在线制作软件,怎么在图片上做链接?
JavaScript实现Fly Bird小游戏
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel如何配置Horizon来管理队列?(安装和使用)
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
网站建设要注意的标准 促进网站用户好感度!
进行网站优化必须要坚持的四大原则
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
简单实现jsp分页
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel storage目录权限问题_Laravel文件写入权限设置
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Laravel如何实现API速率限制?(Rate Limiting教程)
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
中国移动官方网站首页入口 中国移动官网网页登录
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
高端网站建设与定制开发一站式解决方案 中企动力
网站优化排名时,需要考虑哪些问题呢?
三星、SK海力士获美批准:可向中国出口芯片制造设备
如何用景安虚拟主机手机版绑定域名建站?
如何快速生成凡客建站的专业级图册?
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
jQuery validate插件功能与用法详解
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Laravel集合Collection怎么用_Laravel集合常用函数详解
JS经典正则表达式笔试题汇总
Python并发异常传播_错误处理解析【教程】
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Bootstrap整体框架之JavaScript插件架构
如何用y主机助手快速搭建网站?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
智能起名网站制作软件有哪些,制作logo的软件?
JavaScript中的标签模板是什么_它如何扩展字符串功能
WEB开发之注册页面验证码倒计时代码的实现


json