YAML 语法 & 范例

YAML 是类似于XML 和 JSON的一种利于人们读写的数据格式。

基本语法

  • Structure通过空格来展示
  • 列表(Sequence)/清单表 里的项用"- "来代表
  • 字典(Map)/杂凑表 里的键值对用": "分隔.

其他语法

  1. 使用** 空白字符 ** 分层, 不能使用Tab 键
  2. 同层元素左侧对齐
  3. 单行注解由 ** # ** 开始, 可以出现在杭中任何位置
  4. 字串一般不使用引号,但必要的时候可以用引号框住
  5. 可以用 --- 在一个文件中区分多个档案
  6. 可以用... 表示档案结尾(在流式传输时非常有用,不需要关闭流即可知道到达结尾处)
  7. ** > **的作用,以缩进对齐来判断是否为一段文字,也就是说,一旦缩进与上一行不一致,则认为是一个新行
# node1的例子中,第一行“Ther... door”,  
#                第二行“  "Please... floor"”,  
#                第三行“So...So2”  
node1: >  
    Ther once was a man from Darjeeling  
    Who got on a bus bound for Ealing  
    It said on the door  
        "Please don't spit on the floor"  
    So he carefully spat on the ceiling  
    So2  
  1. ** | ** 的作用,它表示之后的文字,每一行均为一个新行
node2: |  
    Ther once was a man from Darjeeling  
    Who got on a bus bound for Ealing  
    It said on the door  
    "Please don't spit on the floor"  
    So he carefully spat on the ceiling 
  1. ** & ** 的作用,它表示一个“锚点标记”,其它节点可以使用“*”或“<<: *”来引用它的值
node3: &node3  
      a: 001  
      b: 002 
  1. * 的作用,引用& 标记的内容
# 指node4的内容与node3完全一致  
node4: 
        *node3 
  1. <<: * 的作用
# 指node5的内容包含但不完全相同于node3的值。  
node5:  
      <<: *node3  
      c: 003  
  1. ? 的作用,用来明确的表示多个词汇组成的键值
# a["node9"] => {{"a"=>1, "b"=>2}=>[1, 2], "c"=>3}  
node9:  
      ? {a: 01, b: 02}  
      : [1, 2]  
      c: 3  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容