配置文件 .yml 写法小结

原文链接:https://www.jianshu.com/p/a8252bf2a63d

yaml 是什么?

在 github 一些开源项目里经常可以看到 .travis.yml 文件,后来接触持续集成这个概念时发现很多文件都是 .yml 后缀的文件。我在 阮一峰-YAML 语言教程 里了解了它的作用以及基本写法,他的那篇文章描述的略微有点啰嗦,实际看到的大多数配置文件还是及其简单的,而我们要做的是能读懂它们,就像读懂 .json 一样。

yaml 语言(或者说是一种规范吧)可以编写 .yml 文件,和 json 一样是配置文件。也许是有人认为 json 的写法不爽,于是乎发明了这玩意,通过下面的例子,可以看到 yaml 写的配置文件确实要比 json 方便很多。

编写规则

  • 大小写敏感

json 里也是大小写敏感的,这点二者一样。

  • 使用缩进表示层级关系

json 中使用 {} 的嵌套表示层级,而 yaml 使用缩进,后者更方便一些。

  • # 表示注释

json 文件中不允许写注释,对于很长配置文件全靠字面意思猜挺痛快的,yaml 可以写注释,:100:

数据结构

配置文件理应十分简洁,与 json 相比,不用频繁的写 {}[],毕竟换行和 - 符号更加简洁,字符串也不需要频繁的加引号(无论是单引号还是双引号)。

对象

# conf.yml
animal: pets
hash: { name: Steve, foo: bar }

转换为 json 为:

{{ "animal": "pets" },{ "hash": { "name": "Steve", "foo": "bar" } }
}

数组

# conf.yml
Animal:- Cat- Dog- Goldfish

转换为 json 为:

{ "Animal": [ "Cat", "Dog", "Goldfish" ] }

字符串

# conf.yml
# 正常情况下字符串不用写引号
str: 这是一行字符串
# 字符串内有空格或者特殊字符时需要加引号
str: '内容: 字符串'

null

# conf.yml
parent: ~

.yml 中 ~ 表示 null,转换为 json 为:

{ "parent": null }

© 著作权归作者所有

dkvirus

我是 dkvirus。别误会,我并不是病毒制造者,叫这个名字是因为在最初学习计算机时经常受到病毒干扰,后来索性研究了下病毒的来龙去脉,了解之后并没有先前的那么可怕。
对于陌生的事物总是充满恐惧,自勉保有受虐的心态去正视他们。
大白书架:https://blog.dkvirus.top

【转载】配置文件 .yml 写法小结相关推荐

  1. 07. 分页写法小结

    07. 分页写法小结 原文:07. 分页写法小结 分页的实现方式有这几种: 1. 在前台程序中,将所有的记录都读到本地,前台程序通过游标在数据集中上下移动,数据量大的话,性能很差,不推荐: 2. 前台 ...

  2. 04. 字符串合并与拆分写法小结

    04. 字符串合并与拆分写法小结 原文:04. 字符串合并与拆分写法小结 一. 字符合并 if OBJECT_ID('ConcatStr') is not null drop table Concat ...

  3. Spring Boot 配置文件 yml与properties

    原文链接:https://blog.csdn.net/qq_33524158/article/details/79600434 1.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固 ...

  4. C++读取配置文件的写法

    记录一下读配置文件的写法. 读取配置文件可以利用string类提供的字符查找和分割来实现. 配置文件中的内容形式为: filepath=/home/test/data/ string ConfigFi ...

  5. SpringBoot配置文件yml读取注意问题

    目录 YML读取注意事项 多重层级读取 static静态属性 开发环境切换 转载于:https://www.cnblogs.com/jtlgb/p/8548782.html 总结: 多层级不是子节点不 ...

  6. SpringBoot开发详解(三)--SpringBoot配置文件YML注意事项

    SpringBoot开发详解(三)--SpringBoot配置文件YML注意事项 原创 2017年04月16日 20:00:12 11289 YML读取注意事项 使用YML时遇到的坑:  最近在做项目 ...

  7. 【Prometheus】Prometheus验证配置文件yml格式

    prometheus验证配置文件yml格式 ${PROMETHEUS_HOME}/promtool check config prometheus.yml

  8. 【转载】Hyperledger学习小结

    Hyperledger学习小结 自学Hyperledger Composer也有段时间了,是时候对所学的知识总结一下了.因为没有实际项目参与的话,差不多也就到此为止了.后续可能会去了解一下以太坊的技术 ...

  9. htaccess分布式配置文件常用写法

    htaccess 写法 Apache中的.htaccess(或者"分布式配置"了针对目录改变配置的方法,即,在特定的文档目录中放置包含或多个指令的,以作用于此目录及其子目录.作为, ...

最新文章

  1. 架构学习优秀网站整理
  2. python开三次方_python实现三次样条插值
  3. Java多线程之线程池的手写改造和拒绝策略
  4. 微信小程序 - 实战小案例 - 简易记事本
  5. Dell 2850 lsi raid卡使用指南
  6. LocalStorage与SessionStorage
  7. 第二阶段冲刺第六天,6月5日。
  8. Linux备份数据 结果为0 原因:mysqldump command not found
  9. (机器学习)痛苦的Caffe配置之路(win10 教育版+vs2015+cmaker+cpu_only+python接口)
  10. 【前端保姆级笔记】超详细的CSS笔记!!!(小柏出品)
  11. SpringBoot实现Excel导入导出,好用到爆,POI可以扔掉了
  12. 华为工程师猝死,36岁,22月无休:比挣钱更重要的是活着
  13. 多个桌面Deskspace如何使用
  14. 使用微擎 微赞 微信登陆遇到redirect_uri 参数错误的设置办法
  15. 一篇文章带你入门python基础开发
  16. poj 2454 随机化(划片使得选举胜利)
  17. 计算机专业该如何学习:准大一篇
  18. SAP 开发者Access Key 与对象修改Access Key
  19. 非线性编辑系统的选购
  20. Mysql学习之二. ken_len索引长度计算

热门文章

  1. Vue项目中ico问题
  2. stata foreach循环语句的使用
  3. linux kernel的中断子系统之(三):IRQ number和中断描述符
  4. 深度学习之语义分割unet算法解读
  5. 移植WebRTC中的VAD
  6. 步入J2EE架构和过程
  7. qt连接mysql数据库 mac_Mac系统下Qt 4.8编译连接数据库(Oracle,MySql)
  8. 无条码商品新建商品档案,搭配蓝牙便携打印机移动打印条码标签
  9. Vector为什么是线程安全的呢?Vector为什么是线程不安全的呢?
  10. HtmlUnit学习总结