YAML文件简介

我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟。

YAML(Yet Another Markup Language)(发音 /ˈjæməl/ )
 一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言。

适应场景

  1. 脚本语言:由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用
  2. 序列化: YAML是由宿主语言数据类型直转,的比较适合做序列化。
  3. 配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。

语言优点

  1. YAML易于人们阅读。
  2. YAML数据在编程语言之间是可移植的。
  3. YAML匹配敏捷语言的本机数据结构。
  4. YAML具有一致的模型来支持通用工具。
  5. YAML支持单程处理。
  6. YAML具有表现力和可扩展性。
  7. YAML易于实现和使用。

YAML 语法

  1. 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不能使用 Tab,各个系统 Tab对应的 Space 数目可能不同,导致层次混乱)
  2. ‘#’表示注释,只能单行注释,从#开始处到行尾
  3. 破折号后面跟一个空格(a dash and space)表示列表
  4. 用冒号和空格表示键值对 key: value
  5. 简单数据(scalars,标量数据)可以不使用引号括起来,包括字符串数据。用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用C风格的转义字符

Sequence of Scalars  简单数据列表

 
  1. - Mark McGwire

  2. - Sammy Sosa

  3. - Ken Griffey

Mapping Scalars to Scalars 简单数据键值对以及注释

 
  1. hr: 65 # Home runs

  2. avg: 0.278 # Batting average

  3. rbi: 147 # Runs Batted In

Mapping Scalars to Sequences 简单数据列表键值对

 
  1. american:

  2. - Boston Red Sox

  3. - Detroit Tigers

  4. - New York Yankees

  5. national:

  6. - New York Mets

  7. - Chicago Cubs

  8. - Atlanta Braves

Sequence of Mappings 键值对列表

 
  1. -

  2. name: Mark McGwire

  3. hr: 65

  4. avg: 0.278

  5. -

  6. name: Sammy Sosa

  7. hr: 63

  8. avg: 0.288

YAML 还支持流类型,用中括号括起来表示列表,用逗号分隔元素;用大括号括起来表示键值对,用逗号分隔元素。

Sequence of Sequences 列表的列表

 
  1. - [name , hr, avg ]

  2. - [Mark McGwire, 65, 0.278]

  3. - [Sammy Sosa , 63, 0.288]

Mapping of Mappings  键值对的键值对

 
  1. Mark McGwire: {hr: 65, avg: 0.278}

  2. Sammy Sosa: {

  3. hr: 63,

  4. avg: 0.288

  5. }

yaml 官方网站:http://www.yaml.org

yaml 官方文档:http://www.yaml.org/spec/1.2/spec.html

想了解更多技术文章,请关注“java开发者联盟”

yaml文件 *.yml 写法简介相关推荐

  1. yaml文件 .yml

    YAML文件简介 我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟. YAML(Yet Anot ...

  2. YAML文件(.yml)中的键(key)通过变量引用来设置

    转自:https://www.cnblogs.com/haycheng/p/13299183.html 通过变量引用设置配置量的[值](value) 在YAML文件中,一个配置量的值可以通过引用另一个 ...

  3. linux查看pro文件,Linux下.pro文件的写法简介

    1. 注释 从"#"开始,到这一行结束. 2. 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp 3.cpp ...

  4. k8s的 Yaml文件编写与测试用例展示

    什么是Yaml 文件? Yaml 是一种用来写配置文件的语言.结构上它有两种可选的类型:Lists [1,2,3,4] 和 Maps {1:111}.List 用 -(破折号)来定义每一项,Map 则 ...

  5. android读取本地yaml文件_python笔记11-读取yaml配置文件(pyyaml)

    YAML简介 YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用. YAML 的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以 YAML ...

  6. yaml 文件内部使用变量赋值的方式_spring boot 学习笔记5(application.yaml 配置文件)...

    YAML文件格式是Spring Boot支持的一种JSON超集文件格式,相较于传统的Properties配置文件, YAML文件以数据为核心,是一种更为直观且容易被电脑识别的数据序列化格式.appli ...

  7. 【OpenCV】OpenCV实战从入门到精通之 -- 输入输出XML和YAML文件详解

    1.XML和YAML文件简介 XML文件是一种元标记语言,即开发者可以根据自身需要定义自己的标记.它是一种语义和结构语言,描述了文档的语义和结构. YAML以数据为中心,是一个可读性高,用来表达资料序 ...

  8. 【转载】配置文件 .yml 写法小结

    配置文件 .yml 写法小结 原文链接:https://www.jianshu.com/p/a8252bf2a63d yaml 是什么? 在 github 一些开源项目里经常可以看到 .travis. ...

  9. Python读写yaml文件(使用PyYAML库)

    一,YAML 简介 YAML,Yet Another Markup Language的简写,通常用来编写项目配置,也可用于数据存储,相比conf等配置文件要更简洁. 二,YAML 语法 支持的数据类型 ...

最新文章

  1. 怎样让WinForms下DataGrid可以像ASP.NET下的DataGrid一样使用自定义的模板列
  2. 2021“MINIEYE杯”中国大学生算法设计超级联赛(7)Yiwen with Formula(任意模数FFT)
  3. 2-计算机发展及应用
  4. mpvue 微信小程序 Image 图片实现宽度100%,高度自适应
  5. ORA-01858: 在要求输入数字处找到非数字字符 13行
  6. 升级python以及安装anaconda
  7. 分布式事务模型--XA Specification
  8. python get,post提交表单
  9. 一些关于java线程编程的事儿
  10. 实战 | F1060防火墙透明模式典型组网配置案例(access)
  11. 练习:《斗鱼视频》m3u8流视频采集下载+思路+Python
  12. 论文发表费用具体是多少
  13. 云服务器安全组开放所有端口
  14. 【Uipath杂谈】用Datatable处理数据(二)
  15. matlab射击小游戏,Matlab射箭小游戏设计,小虾米求救
  16. [Irving]SqlServer 标量函数 详解【转】
  17. html按钮字号,html button样式
  18. 农信银支付清算系统题库_[多选] 农信银支付清算系统中()业务只在工作日运行。...
  19. 【1】初识pr界面布局和工作流
  20. C++复习(二十)——拉丁方阵数字排序

热门文章

  1. 数据结构 三:树(Tree)
  2. HTML配色工具!在线配色工具
  3. 关于最近很火的Python圣诞树
  4. Android自动化测试应用:uiautomatorviewer工具的安装与使用
  5. 9月15日相约苏州丨共同探讨数智化时代,国产数据库的技术创新与实践
  6. [数分提高]2014-2015-2第6教学周第1次课讲义 3.3 Taylor 公式
  7. [C#入门] 函数 | 方法
  8. 如何让浏览器用极速模式打开网站而不是兼容模式
  9. 斗破苍穹里的那些女人
  10. Vue ElementUI table给表格一个斜线分隔线