新闻中心

Linux 怎么解析 JSON?jq 实战教程

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

linux 怎么解析 json?jq 实战教程

Linux 下解析 JSON 主要用 jq,它轻量、强大、支持管道,是命令行处理 JSON 的事实标准。

安装 jq

大多数发行版自带包管理器可一键安装:

  • Ubuntu/Debian:sudo apt install jq
  • CentOS/RHEL/Fedora:sudo yum install jqsudo dnf install jq
  • macOS(Homebrew):brew install jq

装完运行 jq --version 确认是否就绪。

基础语法:从简单提取开始

jq 的核心是“过滤器”,用点号 . 表示当前对象,用 .key 提取字段,用 .[index] 取数组元素。

例如有文件 user.json

Artflow.ai Artflow.ai

可以使用AI生成的原始角色、场景、对话,创建动画故事。

Artflow.ai 92 查看详情 Artflow.ai
{
  "name": "Alice",
  "age": 30,
  "hobbies": ["reading", "cycling"]
}

提取姓名:jq '.name' user.json"Alice"
提取年龄并去掉引号(用 -r 原始输出):jq -r '.age' user.json30
取第一个爱好:jq -r '.hobbies[0]' user.jsonreading

常用操作:过滤、格式化与组合

实战中常需筛选、重组或拼接数据:

  • 过滤对象: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 怎么解析 JSON?jq 实战教程的详细内容,更多请关注其它相关文章!


# 操作步骤  # 黄梅抖音seo  # 离子seo  # 长沙网站建设服务价格  # 朝阳沈阳装修网站建设  # 余杭网站优化推广外包  # seo每日价格  # 东莞关键词优化推荐乐云seo  # 开封抖音seo代理  # 桥西区网络营销推广  # 网站推广费记什么科目  # 相关文章  # 第一个  # 几个  # 压缩解压  # 进阶  # linux  # 编辑器  # 服务管理  # 多个  # 运行环境  # cos  # 格式化输出  # dnf  # macos  # curl  # mac  # 工具  # ubuntu  # json  # js  # centos 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 单射、满射与双射的关系 一文理清所有逻辑  纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析  如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题  Composer的 "check-platform-reqs" 命令有什么用_在部署前检查生产环境是否满足Composer依赖需求  12306选座系统怎么选连座_12306选座多人连坐操作方法  抓大鹅无需下载版 抓大鹅秒玩版入口  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接  Excel Power Pivot如何处理XML数据源 构建高级数据模型  德邦快递查询平台 德邦快递物流信息查询入口  css子元素高度不一致导致布局错位怎么办_使用align-items:stretch解决高度差异  sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统  企业名称高精度匹配:N-gram方法在结构相似性分析中的应用  漫蛙漫画网页端入口 漫蛙2官方正版漫画站点  Pandas DataFrame 多条件优先级排序与排名  c++ 获取系统当前时间 c++时间戳获取方法  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法  Linux如何构建多环境配置管理_Linux多环境配置方案  高德地图家和公司地址在哪设置 高德地图通勤路线设置方法【超详细】  QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录  韩小圈电脑版在线入口_网页版免费登录地址  4399体育竞技小游戏_4399小游戏赛事入口  AO3镜像入口大全 AO3网页版内容访问全集  html5 app怎么运行环境_配html5 app运行环境【教程】  在WordPress中通过REST API获取BasicAuth保护的远程文章  微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法  C++编译期如何执行复杂计算_C++模板元编程(TMP)技巧与应用  Yandex浏览器官方网页版入口 Yandex浏览器最新版官网  MongoDB聚合管道:正确匹配对象数组中_id的方法  C++如何操作大型数据集_使用C++流式处理(Streaming)技术避免一次性加载大文件  小红书网页版入口链接分享 小红书官网直接进  《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元  天猫2025双十一0点秒杀攻略 天猫爆款抢购时间  聚水潭ERP登录页面入口 聚水潭ERP官网登录界面  Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程  韩剧圈正版入口页面_韩剧圈官网登录链接  J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南  ArrayList与LinkedList核心操作的Big-O复杂度分析  c++项目目录结构应该如何组织_c++工程化项目结构规范  必由学官网入口 必由学教师登录入口  PHP中高效并行检查多链接状态的教程  离线运行Go语言之旅:本地部署与GOPATH配置指南  网易大神怎么保存别人动态的图片_网易大神动态图片保存方法  C++如何连接MySQL数据库_C++使用Connector/C++操作MySQL数据库教程  如何在Promise链中有效终止错误处理后的执行  SteamMachine定价或为699美元 大家想入手吗?  QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台  蛙漫限时开放最深处链接_蛙漫全站漫画会员同款秒开地址 

搜索