YAML工程师必会语法

简介: 运维系列

Yaml基础语法与技巧

  • 字符支持:YAML支持Unicode字符集,可以使用UTF-8、UTF-16、UTF-32字符集
date: 2020-06-28
info:
  - name: Marionxue
tags:
  - num: 1
  - descript: "writing somthing here" 
  • 缩进:YAML中缩进是非常重要的规范,不支持Tab,支持空格,没有严格要求空格个数,但是需要确保同一层次的左侧对齐
  • 单行注释:单行注释使用#进行标记,可以在单行的任何位置开始注释的内容
  • 多行注释:不提供特殊的多行注释,使用多行行首的单行注释#实现多行注释的需求
info:
# 下面是两个空格,然后一个短横线
  - name: Marionxue
  • 基本数据类型:支持整型浮点型时间戳类型Null等基本数据类型
  • 组合数据类型:支持键/值方式和列表类型,并可进行嵌套组合
  • 键/值方式:使用冒号:进行分隔,也可使用{}结合逗号进行表达
  • 列表类型:使用横线-进行分隔,也可使用[]结合逗号进行表达
  • 开始符号: ---用于表示开始的符号,在一个文件中包含多个YAML设定的时候使用非常常见。
  • 结束符号:用于表示yaml文件结束
--- # start
- [blue, red, green] #list
- [Age, Bag]
- site: {osc:www.oschina.net, baidu: www.baidu.com}  # key/value list
- describle: |
        Hi,all:
            my name is xxx.
- code: > 
        fmt.Println("姓名: %s",
         name)
  • 单引号与双引号:字符串类型可以不使用单引号和双引号,使用单引号和双引号与不使用的时候在特殊字符及其转义的时候有些细微的区别,可用倒斜线(\)进行特殊字符转义
  • 区块的字串用缩排和修饰词(非必要)来和其他资料分隔,有新行保留(使用符号|)或新行折叠(使用符号>)两种方式

    • |表示保留区块中的回车换行
    • >表示将区块中的回车换行替换为空行,最终连成一行
  • 强制类型转换:可以使用!!用于强制类型转换
  • 重复性内容:可以使用锚点标记&和应用标记*结合使用可以处理重复性的内容
  • 保留字符:@和`为当前YAML规格的保留字符
  • 较长的描绘性说明:使用|>以及>-来处理常见的对于较长的描绘性说明的要求
  • 空白字符限制:在使用逗号及冒号时,后须接一个空白字符
  • YAML使用可打印的Unicode字符,可使用UTF-8或UTF-16
  • 使用空白字符(不能使用Tab)分层,同层元素左侧对齐
  • 单行注解由井字号( # )开始,可以出现在行中任何位置
  • 每个清单成员以单行表示,并用短杠+空白(- )起始
  • 每个杂凑表的成员用冒号+空白(: )分开键和值
  • 杂凑表的键值可以用问号 (?)起始,表示多个词汇组成的键值
  • 字串一般不使用引号,但必要的时候可以用引号框住
  • 使用双引号表示字串时,可用倒斜线(\)进行特殊字符转义
  • 区块的字串用缩排和修饰词(非必要)来和其他资料分隔,有新行保留(使用符号|)或新行折叠(使用符号>)两种方式
  • 在单一档案中,可用连续三个连字号(---)区分多个档案
  • 可选择性的连续三个点号(...)用来表示档案结尾(在流式传输时非常有用,不需要关闭流即可知道到达结尾处)
  • 重复的内容可使从参考标记星号 (*)复制到锚点标记(&)
  • 指定格式可以使用两个惊叹号 ( !! ),后面接上名称
相关文章
|
7月前
|
XML C语言 数据格式
yaml基本语法
yaml基本语法
90 0
|
7月前
|
XML Java 数据格式
SpringBoot中yaml格式、语法规则及数据读取方式(3种)
SpringBoot中yaml格式、语法规则及数据读取方式(3种)
684 0
|
3月前
|
XML Java C语言
yaml语法格式,springboot中yaml的使用
本文介绍了YAML的语法格式和数据类型表示方法,并详细讲解了如何在Spring Boot中使用YAML,包括@ConfigurationProperties注解及Bean的创建、编写Controller、配置application.yaml配置文件,以及在pom.xml中开启YAML提示。
|
7月前
|
存储 前端开发 IDE
YAML语法记录
YAML语法记录
118 0
|
6月前
|
敏捷开发 缓存 安全
阿里云云效产品使用问题之手动触发流水线的YAML语法该怎么写
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
XML 数据格式
yaml基本语法和yaml数据格式,ymal对象写法,数组写法
yaml基本语法和yaml数据格式,ymal对象写法,数组写法
|
7月前
|
Java 数据格式 Spring
详解YAML语法及占位符语法
设计了一个YAML数据结构来表示家庭信息,包括家庭名、父亲、母亲和孩子。父亲有名字和年龄,母亲有别名,孩子有名字、年龄和朋友列表,每个朋友有爱好和性别。字符串可以用单引号或双引号,双引号会转义特殊字符。YAML支持松散的键绑定。Spring Boot配置文件中,占位符可用于设置随机数,如${random.int},并可提供默认值,如${family.father.name:zimug}。
255 0
|
7月前
|
存储 JSON JavaScript
【YAML语法规范指南】从入门到精通,揭秘神秘语法,引领配置文件解析指南(基础结构篇)
"YAML Ain't Markup Language"(简称YAML)是一种专为人类设计的数据序列化语言,适用于多种现代编程语言,可广泛应用于各类日常任务。它是一种以人类可读形式呈现的、适用于多种语言的Unicode数据序列化标准。它基于敏捷编程中常见的本地数据结构,广泛应用于配置文件、互联网消息传递、对象持久化以及数据审计等多个领域。遵循Unicode标准、
691 8
【YAML语法规范指南】从入门到精通,揭秘神秘语法,引领配置文件解析指南(基础结构篇)
|
XML 运维 Java
SpringBoot中Yaml语法和JSR303数据校验《第三课》
SpringBoot中Yaml语法和JSR303数据校验《第三课》
187 0
|
XML JSON 数据格式
yaml语法
yaml语法