当前位置: 首页 > java >正文

jq常用命令

1. 点符号读取json字段

    yum install jqjq .ziduan1 file.jsonjq .ziduan1 *.json

2. 点符号读取json字段–字典套字典

    yum install jqjq .ziduan1.ziduan11 file.json

3. 点符号读取json字段–字典套列表再套字典 读取字典中所有的列表

    yum install jqjq '.ziduan1[].ziduan11' file.json

4. jq -r

jq -r 是 jq 命令的一个常用选项,其中:
-r 代表 --raw-output,作用是:

  1. 输出原始字符串(去除 JSON 字符串值的双引号)
  2. 避免 JSON 字符串中的特殊字符被转义
# 不加 -r(默认输出带引号)
echo '{"name":"John"}' | jq '.name'
# 输出: "John"# 加 -r(直接输出原始值)
echo '{"name":"John"}' | jq -r '.name'
# 输出: John

5. 不输出为空的

只想在 .ziduan1.ziduan11字段不为空(null)时输出

accent=`jq -r '.ziduan1.ziduan11 // empty' $json_path`

// empty 是 jq 的空值处理运算符,表示当左侧值为 null 或 false 时返回空
这样只有当 ziduan1.ziduan11有实际值时才会输出

6. jq select 做条件判断

假设你有一个名为 data.json 的文件,内容如下:

过滤数组:

假设你的 JSON 文件包含一个数组,格式如下:

{"users": [{ "name": "John", "age": 30 },{ "name": "Jane", "age": 25 },{ "name": "Doe", "age": 35 }]
}
  • 获取数组中的所有 name 值:

    jq '.users[].name' data.json
    
  • 获取所有年龄大于 30 的用户:

    jq '.users[] | select(.age > 30)' data.json
    
使用管道进行更复杂的操作:

你可以通过管道将多个 jq 操作结合起来,进行更复杂的查询和转换。

例如,从下面的 JSON 文件中提取出所有 nameage 字段,并以 JSON 格式输出:

{"users": [{ "name": "John", "age": 30 },{ "name": "Jane", "age": 25 },{ "name": "Doe", "age": 35 }]
}
jq '.users[] | {name, age}' data.json

输出结果:

{"name": "John","age": 30
}
{"name": "Jane","age": 25
}
{"name": "Doe","age": 35
}
格式化输出:

使用 jq 时,默认情况下,它会自动格式化输出为易于阅读的格式。你也可以使用 -c 选项来输出压缩格式的 JSON(去除换行和缩进):

jq -c . data.json
http://www.xdnf.cn/news/8201.html

相关文章:

  • 线性Wi-Fi FEM被卷死,非线性FEM是未来?
  • CentOS安装最新Elasticsearch8支持向量数据库
  • 面向复杂和不平衡数据的双模块深度学习网络入侵检测模型
  • JavaScript篇:函数作用域与作用域链探秘
  • 甘特图(项目计划图)
  • Qt控件:显示控件
  • 五元组+协议分层:拆解网络通信的底层密码
  • 安卓手机安装 ChatGPT 全流程图文指南
  • 数巅智能亮相中国石油石化企业信息技术交流大会 以大模型能力驱动能源行业数智化升级
  • scikit-learn pytorch transformers 区别与联系
  • 如何让Wi-Fi设备传输距离达到1100米?涂鸦新方案让通信距离远超传统5倍
  • Dunn事后检验
  • 我店模式系统开发打造本地生活生态商圈
  • Springboot从consul中获取配置
  • Java 模块化系统(JPMS)
  • 点云(point cloud):自动驾驶的“三维扫描图“
  • SQLSERVER数据库表分区学习(未在项目上使用)
  • 6:OpenCV—图像滤波
  • 设置标签(tag)并推送到GitHub
  • 并发编程 之 Java内存模型、AQS详解:AQS设计思想、Unsafe
  • 基于自动编码器的图像融合方法
  • 腾讯2025年校招笔试真题手撕(一)
  • 一图胜千言:Typora中Mermaid图表语法全解析
  • Qwen3技术报告笔记
  • 《数据结构笔记二》:顺序表
  • 【技术追踪】ADDP:通过交替去噪扩散过程学习用于图像识别和生成的通用表示(ICLR-2024)
  • Java中static关键字深度解析:从入门到高阶实战
  • 碰一碰发视频源码搭建定制化开发详解,支持OEM
  • One-shot和Zero-shot的区别以及使用场景
  • 嵌入式STM32学习——串口USART 2.3(串口发送数据控制LED灯)