刘明帅
热爱生活!
刘明帅
什么是YAML
什么是YAML

最近接连碰上YAML,从未接触过它所以配置文档的时候处处蹩脚。遂决定了解一下何为YAML

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

在官方文档上则是这样描述的:

YAML: YAML Ain’t Markup Language

What It Is: YAML is a human friendly data serialization standard for all programming languages.

—-yaml.org

他最大的特色就是——缩进:

  • 数据结构可以用类似大纲的缩排方式呈现
  • 结构通过缩进来表示
  • 连续的项目通过减号“-”来表示
  • map结构里面的key/value对用冒号“:”来分隔。

例:

house:

   family:

     name: Doe

     parents:

       - John

       - Jane

     children:

       - Paul

       - Mark

       - Simone

   address:

     number: 34

     street: Main Street

     city: Nowheretown

     zipcode: 12345

注意在YAML中,字符串不一定要用双引号标示。

另外,在缩进中空白字符的数目并不是非常重要,只要相同层次结构的元素左侧对齐就可以了(不过不能使用TAB字符)。

这个文件的顶层由七个键值组成:其中一个键值”items”,是两个元素构成的数组(或称清单),这清单中的两个元素同时也是包含了四个键值的散列表。

文件中重复的部分用这个方法处理:

使用锚点(&)和引用(*)标签将”bill-to”散列表的内容复制到”ship-to”散列表。

也可以在文件中加入选择性的空行,以增加可读性。

在一个文件中,可同时包含多个文件,并用”“分隔。

选择性的符号”“可以用来表示文件结尾(在利用流的通信中,这非常有用,可以在不关闭流的情况下,发送结束信号)。

参考文献

https://yaml.org/

文章链接:https://lmshuai.com
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

推荐文章

发表评论

textsms
account_circle
email

刘明帅

什么是YAML
最近接连碰上YAML,从未接触过它所以配置文档的时候处处蹩脚。遂决定了解一下何为YAML YAML是”YAML Ain’t a Markup Language”(YAML不是一种标记语言)的递归缩写。在开发的这种语言时…
扫描二维码继续阅读
2019-10-20