yml文件详解

YAML(/ˈjæməl/,尾音类似 camel 骆驼)是一个可读性高,用来表达数据序列化的格式。YAML 参考了其他多种语言,包括: C 语言、 Python、Perl,并从 XML、电子邮件的数据格式(RFC 2822)中获得灵感。Clark Evans 在 2001 年首次发表了这种语言 ,另外 Ingy döt Net 与 Oren Ben-Kiki 也是这语言的共同设计者 。当前已经有数种编程语言或脚本语言支持(或者说解析)这种语言。

YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时, YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名

功能

YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。 它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和 YAML 非常接近)。尽管它比较适合用来表达层次结构式(hierarchical model)的数据结构,不过也有精致的语法可以表示关系性(relational model)的数据。由于 YAML 使用空白字符和分行来分隔数据,使得它特别适合用 grep/Python/Perl/Ruby 操作。其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构时会变得复杂而难以辨认

YAML 的基本组件

YAML 提供缩进/区块以及内置(inline)两种格式,来表示清单和散列表。以下展示几种 YAML 的基本原件。

基本语法

k:(空格)v   :   表示一对键值对(空格不能省略),以空格控制层级关系,只要是左对齐的数据,都是同一级别;

注意:   属性和值都是大小写敏感

server:  port: 8083  path: /helloBoot

值的写法:

字面量:数字,字符串,Boolean(布尔)值(字符串默认不用加上单引号或双引号);

     " "(双引号):不会转义字符串里面的特殊字符,特殊字符会作为本身想表达的意思

     eg:      name: "Hello Boot \n !!!"   ---   输出: Hello Boot 换行 !!!

     ' '(单引号):会转义特殊字符,特殊字符最终只是一个字符串数据

     eg:      name: 'Hello Boot \n !!!'  ---   输出: Hello Boot \n !!!

对象:Map(key:value);

     k: v : 在下一行来写对象的属性和值的关系

person:    name: boot    age: 18

     行内写法:

person: {name: boot,age: 18}

数组(用-表示数组中的一个元素):

animal:    -cat   -dag   -pig

行内写法:

animal: [cat,dog,pig]
参考链接:https://blog.csdn.net/Java_Glory/article/details/89452418

链接:https://www.jianshu.com/p/a65e692edd5a

发布了100 篇原创文章 · 获赞 18 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/sereasuesue/article/details/105294236