Spring boot源码分析-yaml语言(9)

 2019-11-02 21:09  阅读(1119)
文章分类:Spring boot

Spring boot源码分析-yaml语言(9)

YAML(/ˈjæməl/,和camel同发音 )是人类可读的 数据序列化语言。它通常用于配置文件

语法

  • 单个流中的多个文档由三个连字符(—)分隔,三个句点(…)可以选择在一个流中结束一个文档。
  • 空格(不能使用Tab符号) 缩进用于表示结构; 但是,标签字符绝不允许作为缩进。
  • 注释以(#)开始,可以在一行上的任何地方开始,并持续到行尾。注释必须与其他标记与空格字符分开。如果#它们出现在字符串的内部,就表示#文字
  • 列表成员用(-)表示,每行一个部件,或者包含在方括号([ ]),并通过分开的逗号 空间(,)。
  • 关联数组(:)的形式键:值,每行一个或封闭在大括号({ }),并通过分开的逗号 空间(,)。
  • 字符串(标量)通常不引用,但可以用双引号(”)或单引号(’)括起来。
    在双引号中,特殊字符可以用反斜杠()开头的C风格的转义序列表示。根据文档,唯一支持的八进制转义是。
  • 多行字符串可以使用|保留换行符,也可以使用>折叠换行。
  • 重复节点由初始表示符号(&),然后与一个参考星号(*)。
  • 节点可以使用感叹号(!!)后跟一个字符串来标注类型或标签,该字符串可以扩展为一个URI。
  • 流中的YAML文档之前可能包含由百分号(%)和后跟名称和空格分隔的参数组成的“指令” 。

转换的网站

JS-YAML

示例

yaml表示 json表示 备注信息
使用内嵌块的表示方式
{name:‘pets’}

* 对象

name: pets

{ name: 'pets' }
  • 对象内联表示

    people: {name:jamet,age:33}

    { people: { 'name:jamet': null, 'age:33': null } }

  • 数组

    水果: - 苹果 - 西瓜 - 桃子

    { '水果': [ '苹果', '西瓜', '桃子' ] }

  • 数组内联表示

    水果: [ 苹果, 西瓜, 桃子, 果汁]

    { '水果': [ '苹果, 西瓜, 桃子, 果汁' ] }

  • 多行字符串表示(一)

    数据: | 曾经有一份真挚的爱情 摆在我的面前 ,门口说: “请不要乱来” 所以就不来了

    { '数据': '曾经有一份真挚的爱情\n摆在我的面前\n,门口说:\n“请不要乱来”\n所以就不来了\n' }

  • 多行字符串表示(二)

    数据: > 曾经有一份真挚的爱情 摆在我的面前 ,门口说: “请不要乱来” 所以就不来了

    { '数据': '曾经有一份真挚的爱情 摆在我的面前 ,门口说: “请不要乱来” 所以就不来了\n' }

  • 使用锚点

    server: &server host: 127.0.0.1 port: 1521

    dev: database: dev_app <<: *server prod: database: prod_app <<: *server
    

    { server: { host: '127.0.0.1', port: 1521 }, dev: { database: 'dev_app', host: '127.0.0.1', port: 1521 }, prod: { database: 'prod_app', host: '127.0.0.1', port: 1521 } }

  • 类型转换

    a: 123 b: "123" c: !!str 123 d: !!str true e: 是


来源:http://ddrv.cn

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Spring boot源码分析-yaml语言(9)

相关推荐