yaml文件格式说明

  • yaml简介
  • 基本语法
  • YAML支持的数据结构
  • 引用
  • 单文件多配置
  • 文本块
  • 显示指定类型

yaml简介

yaml文件的后缀为.yml或者.yaml。
是一个可读性高,用来表达数据序列的格式。YAML的意思是:仍是一种标记语言,但为了强调这种语言以数据为中心,而不是以标记语言为重点。

基本语法

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用tab键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左右对齐即可
  • #表示注释,从这个字符一直到行尾,都会被解释器忽略
  • 锚点&:标注一个内容,锚点名称自定义
  • 引用*:使用被标注的内容<<:*锚点名
  • 在yaml里,用on、1、true来表示true,用off、0、false来表示false
  • yaml中,空值可以用null或者~来表示。

YAML支持的数据结构

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)
    eg:
    对象的一组键值对,使用冒号结构表示
    name:Tom
    age: 12
    eg:
    yaml也允许另一种写法,将所有键值对写成一个行内对象
    hash: {
    name: Tom
    age: 12
    }
  • 数组:一组按次序排列的值,又称为序列(sequence)/ 列表(list)
    eg:
    一组连词线开头的行,构成一个数组
    animal
    - Cat
    - Dog
    eg:
    数组也可以采用行内表示法
    animal: [Cat, Dog]
  • 纯量(scalars):单个的、不可再分的值
    eg:
    1 字符串 布尔值 整数 浮点数 Null
    2 时间日期
  • 复合结构:对象和数组可以结合使用,形成复合结构
    eg:
    languages:
    - Ruby
    - Perl
    - Python
    websites:
    YAML: yaml.org
    Ruby: ruby-lang.org
    Python: python.org
    Perl: use.perl.org

补充说明:纯量
数值直接以字面量的形式表示
number: 12.30
布尔值用true和false表示
isSet: true
null用 ~ 表示
parent: ~
时间采用 ISO8601 格式
iso8601: 2001-12-14t21:59:43.10-05:00
日期采用复合 iso8601 格式的年、月、日表示
date: 1976-07-31
YAML 允许使用两个感叹号,强制转换数据类型
e: !!str 123
f: !!str true

引用

  1. 引用会用到 &锚点符合和 *星号符号,&用来建立锚点,<< 表示合并到当前数据, 用来引用锚点。
jack: &jackname: Jackage: 20dept:id: D15D554F6D68A4E88E<<: *jack

上面最终相当于如下:

jack:name: Jackage: 20dept:id: D15D554F6D68A4E88Ename: Jackage: 20
  1. 文件内引用,引用已经定义好的变量
base.host: https://chenpi.com
add.person.url: ${base.host}/person/add

单文件多配置

#公共配置
spring:profiles:active: pro # 指定使用哪个文档块#开发环境配置
spring:profiles: dev # profiles属性代表配置的名称
server:port: 8080#生产环境配置
spring:profiles: pro
server:port: 8081

文本块

如果你想引入多行的文本块,可以使用|符号,注意在冒号:|符号之间要有空格。双引号能转义特殊字符:

person:name: |Hello Java!!I am fine!Thanks! GoodBye!
person:name: "Hello Java!!\nI am fine!\nThanks! GoodBye!"

显示指定类型

显示指定某些值的类型,可以使用!(感叹号)显式指定类型。
!单叹号通常是自定义类型,!!双叹号是内置类型。

# 指定为字符串
string.value: !!str HelloWorld!
# !!timestamp指定为日期时间类型
datetime.value: !!timestamp 2021-04-13T02:31:00+08:00

yaml文件格式说明相关推荐

  1. yaml 文件格式简介

    from: http://www.cnblogs.com/phpgo/p/6480107.html .yaml 文件格式简介 命名 YAML 的意思其实是:"Yet Another Mark ...

  2. yaml文件格式总结

    yaml文件格式总结 概念 基本语法 数据类型 YAML 对象 YAML 数组 复合结构 纯量 引用 概念 YAML 是 "YAML Ain't a Markup Language" ...

  3. 检查json 或 yaml 文件格式

    有时候我们修改了配置 json 或者 yaml 文件,需要校验下文件格式是否正确 源码 package mainimport ("flag""fmt"" ...

  4. .yaml 文件格式简介

    命名 YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写. 功能 YAML的语法和其他高阶语言类似,并且可以简单表达清单. ...

  5. 总结:yaml文件格式

    一.基本语法 1.区分大小写 2.使用空格表示层级关系(缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格) 3.不支持Tab键制表符缩进,只使用空格缩进(新版本好像支持了,但 ...

  6. 【Yaml】了解yaml文件格式

    目录 一.简介 二.基本语法 三.数据类型 四.数据结构 一.简介 YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用. YAML 的语法比较简洁直观,特点是使用空格来表达层次 ...

  7. yaml文件格式说明及编写教程

    1.ymal介绍 k8s是容器编排引擎,使用yaml来编排部署应用 特点:1.缩进表示层级关系 2.不支持制表符"tab"缩进,需要使用空格缩进 3.通常开头缩进两个空格 4.关键 ...

  8. yaml文件格式详解及实例

  9. python 对 yaml 文件操作

    python 对 yaml 文件操作 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : p ...

最新文章

  1. vue拖动添加模块展示_一个全新的Vue拖拽特性实现:“移动”部分
  2. Eclipse启动时DDMS files not found: D:\Eclipse\adt-bundle-windows-x86_64-20131030\sdk\tool
  3. 【SDCC 2016·杭州站】9月22日大数据实战专场精彩呈现
  4. OpenCV 开闭运算
  5. 在ubuntu16.4中安装mysql_【Linux】Ubuntu16.04环境下MySQL的安装与使用
  6. 乐鑫代理-启明云端分享|ESP32与ESP32-C3功耗对比篇(一)
  7. 《PC World》:Linux在桌面市场毫无长进 已经死亡
  8. 对mysql优化关注_MySQL优化看这篇就对了
  9. python csv转excel_将Excel文件转为csv文件的python脚本
  10. 201506110135陈若倩词法分析实验报告
  11. GotoAndPlay 图论
  12. 浏览器后退不刷新页面
  13. 安装Jenkins后 启动时失败的问题解决
  14. TXT文本文件中批量替代回车符号
  15. 前端常见面试题-css篇
  16. CRON 定时任务 在线解析
  17. java鬼吹灯搬山法杖_鬼吹灯昆仑神宫技能搭配攻略之搬山职业篇
  18. C#批量转CSV到Excel
  19. 解决Graphviz无法显示决策树中文问题
  20. 配置对即时负载的优化

热门文章

  1. 【前端实例代码】Html5+css3+JavaScript实现新拟态新拟物风格(Neumorphism)图标按钮动效网页效果~手把手教学~新手必会~超简单 ~
  2. 深挖:视频号怎么运营?视频号几类最容易变现
  3. atlas和dolphinscheduler 安装
  4. 小程序源码:检讨书生成微信小程序
  5. Fusion 360安装路径更改
  6. [数仓]埋点数据接入
  7. [附源码]计算机毕业设计JAVA学生考试成绩分析系统
  8. 一个开发工程师,真的需要了解业务吗?
  9. matlab添加绝对路径
  10. 神经网络的公式怎么计算,神经网络的公式有哪些