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

中职网站建设教学计划学网页设计软件开发

中职网站建设教学计划,学网页设计软件开发,宝塔批量建站工具,平面设计零基础难学吗文章目录 1.简介2.格式3.选项4.示例5.小结参考文献 1.简介 jq 是一个轻量级、灵活的命令行 JSON 处理器,类似于文本处理工具 sed、awk、grep 等。 jq 使用用可移植的 C 语言编写的,没有运行时依赖,允许您轻松地切片、过滤、映射和转换结构化…

文章目录

  • 1.简介
  • 2.格式
  • 3.选项
  • 4.示例
  • 5.小结
  • 参考文献

1.简介

jq 是一个轻量级、灵活的命令行 JSON 处理器,类似于文本处理工具 sed、awk、grep 等。

jq 使用用可移植的 C 语言编写的,没有运行时依赖,允许您轻松地切片、过滤、映射和转换结构化数据。

2.格式

jq [options] <filter> [files...]
  • 如果没有指定输入文件,jp 会从标准输入读取数据。
  • 如果 JSON 数据是来自文件,可以将其作为参数传递。

3.选项

-c, --compact-output压缩输出,使其输出为单行格式。
--color-output / -C 或 --monochrome-output / -M默认情况下,如果写入到终端,jq输出彩色JSON。即使写入管道或文件,也可以使用-C强制生成颜色,并使用-M禁用颜色。当 NO_COLOR 环境变量不为空时,jq 默认禁用彩色输出,但您可以通过 -C 启用它。
-f, --from-file filename指定输入的 JSON 文件。
-r, --raw-output输出结果不带引号,这对于让 jq 过滤器与非基于 json 的系统对话非常有用。
-h, --help显示帮助信息。
-V, --version显示版本信息。

4.示例

假设有以下 JSON 数据,保存在 data.json 文件。

{"name": "John","age": 30,"cars": [{"name": "Ford", "models": ["Fiesta", "Focus", "Mustang"]},{"name": "BMW", "models": ["320", "X3", "X5"]},{"name": "Fiat", "models": ["500", "Panda"]}]
}

(1)基本查询。

查询顶级字段:

jq '.name' data.json# 输出
"John"jp '.age' data.json# 输出
30

. 表示当前上下文(根对象)。

.name 表示从根对象获取 name 属性。

(2)嵌套查询。

比如想查询数组中第 0 个对象的 name 属性:

jq '.cars[0].name' data.json# 输出
"Ford"

如果你想查询数组中所有对象的 name 属性,并以一个数组形式输出,可以使用 jq 的 map 函数来处理。map 会应用一个过滤器到数组的每个元素,并返回一个包含所有结果的数组。

jq '.cars | map(.name)' data.json# 输出
["Ford","BMW","Fiat"
]

(3)修改字段。

假设我们想修改某个字段的值。比如将年龄改为 26。

jq '.age = 26' data.json

我们也可以对数组中的每个元素进行修改。

假设你想将所有汽车的 model 名称转换为大写,可以使用 map 和 jq 内置的字符串操作函数 :

jq '.cars | map(.models |= map(ascii_upcase))' data.json# 输出
[{"name": "Ford","models": ["FIESTA","FOCUS","MUSTANG"]},{"name": "BMW","models": ["320","X3","X5"]},{"name": "Fiat","models": ["500","PANDA"]}
]

其中 |= 用于修改对象的字段值。

(4)过滤数组元素。

我们可以提取 name 为 BMW 的汽车:

jq '.cars | map(select(.name == "BMW"))' data.json# 输出
[{"name": "BMW","models": ["320","X3","X5"]}
]

如果只想提取第一个符合条件的对象,可以使用:

jq '.cars | map(select(.name == "BMW")) | .[0]' data.json# 输出
{"name": "BMW","models": ["320", "X3", "X5"]
}

(5)格式化输出并启用颜色高亮显示。

jq -C . data.json

注意 jq 打印 JSON 文件时,必须提供一个过滤器,其中 . 表示整个输入。

(6)压缩成单行格式输出。

jq 的 -c 选项用于将输出压缩成单行格式,去掉多余的空格和换行符。这个选项通常用于在输出 JSON 时,去除格式化和缩进,使输出更紧凑,便于进一步处理或存储。

jq -c '.cars' data.json# 输出[{"name":"Ford","models":["Fiesta","Focus","Mustang"]},{"name":"BMW","models":["320","X3","X5"]},{"name":"Fiat","models":["500","Panda"]}]

(7)输出不带引号。

jq -r '.name' data.json# 输出
John

假设你想输出所有汽车的 models 数组中所有的模型名称,并且去掉引号,可以使用:

jq -r '.cars[].models[]' data.json# 输出
"Fiesta"
"Focus"
"Mustang"
"320"
"X3"
"X5"
"500"
"Panda"

5.小结

jq 的最早版本是在 2010 年由 Stephen Dolan 开发的。Dolan 是一位软件工程师,致力于开发实用的命令行工具。他的目标是创建一个能够高效处理 JSON 数据的工具,类似于 sed、awk 和 grep 这类 Unix 工具,但专门针对 JSON 格式。

jq 从一个个人开发的小工具开始,逐步发展成了广受欢迎、强大的 JSON 处理工具。它的灵活性、扩展性以及高效性使其成为开发者、运维人员、数据科学家等不同领域的必备工具之一。

jq 拥有丰富的指南和手册,可以在其官网寻找到你所需的帮助。


参考文献

jq github
Official Documentation: jqlang.org
Try jq Online: play.jqlang.org

http://www.dtcms.com/a/613962.html

相关文章:

  • SpringBoot中Get请求和POST请求接收参数详解
  • 局部可变形模板匹配算法的初步实现
  • NFS服务
  • python多继承的类型定义了同一个属性或者方法
  • Springboot中CommandLineRunner的用法以及执行顺序的控制
  • (60页PPT)IDC云数据中心机房运维服务解决方案(附下载方式)
  • php网站开发 多少钱青海做网站最好的公司
  • 鸿蒙PC生态实践:LAME 音频编码库移植与工程化指南
  • 可以上传视频的网站建设中国科技成就手抄报
  • Redis_12_持久化(1)
  • stm32f4点灯
  • 自己做网站详细步骤电脑如何安装免费wordpress
  • 前端微前端样式隔离,CSS-in-JS方案
  • 【go.sixue.work】2.3 面向对象:结构体里的 Tag 用法
  • Halcon ROI 与图像仿射变换笔记
  • 软件设计师(软考中级)公式速记笔记
  • 电商网站开发过程手机推广app
  • 18.HTTP协议(三)
  • 产科信息管理系统,智慧产科源码,支持与医院HIS、EMR系统及国家级妇幼平台的数据对接
  • 在VPython中使用向量计算3D物体移动
  • R语言在线编译器 | 提供方便快捷的数据分析工具
  • YOLOv8多场景人物识别定位与改进ASF-DySample算法详解
  • 网网站基础建设优化知识成都感染人数最新消息
  • 电商网站建设实训要求威海好的网站建设公司哪家好
  • Ionic 安装指南
  • kubernetes 导入镜像tar包
  • 南通网站开发上海网站搭建
  • oracle 物化视图设置自动更新日志
  • Java测试题
  • YOLO v11的学习记录(五) 使用自定义数据从头训练一个实例分割的模型