yaml总结

1、空格来表示缩进,空格敏感,:和-后面必须有空格。

2、字符串可以不加""或者‘’,但是""里的特殊字符不会自动加转义符,所以反而可以正常转义,例如 显示的是一个换行;而''里的特殊字符会自动加转义符,所以里面的转义字符显示的时候反而不能正常转义,例如 显示成了字符 。

3、- (后有空格,如果换行空格会忽略)引导数组,用来排布重复的键以对应不同的值。但是,如果-后有换行,新行要跟上面的-直接保留至少一个空格的缩进(还是那句话,对空格敏感,用缩进表示层级),而数组中的对象里的各个元素要保持统一缩进,不能一个元素空2格,另一个空1格或者3格...简而言之,同一个对象的键值对缩进要保持一致。而处于不同对象的键值对,缩进可以不同的。如下:

people:
  -

   name: zhangsan
   age: 22
  -
    name: lisi
    age: 23
  - {name: wangwu, age: 18}

4、: (后有空格,如果换行空格会忽略)引导键值对,使用缩进划分层级。所以严格来说不管是普通的键值对,还是带缩进层级的键值对,都是1对1的键值关系。所以对于3,如果一个数组的每一个元素包含多个键值对,不需要额外在外面包一层键,因为那样只不过是把多个键值的字典对象改成了1个键的字典对象。另外数组本身拥有下标来索引元素,所以也不需要提供额外的键。但是对于非数组中的对象如果拥有多个键值对,比如学生,包含了名字,年龄,成绩等信息,则需要在外面加一个student键。当然实际中很少可能只有一个学生的情况,而是用students数组的情况比较多,但这里只是作为举例。实际中还是很有可能有只有单个实例但包含多个属性的情况,比如公司信息,天气等等。

原文地址:https://www.cnblogs.com/JFHS/p/14355560.html