YAML简介(.yml文件后缀)
YAML Ain’t a Markup Language, Yet Another Markup Language.
情景
最近在使用 github+hexo 配置属于自己的博客时遇到了以 yml
为后缀的配置文件,因为不太了解,所以顺便学习一下。
YAML 是什么?
YAML 是一种可读性高,以数据为中心的数据序列化格式。可以表达 对象(键值对),数组,标量 这几种数据形式 能够被多种编程语言和脚本语言解析。
什么是序列化?
序列化指的是将自定义的对象或者其他数据进行持久化,从而方便进行传输和存储。一般情况下,能够序列化的数据一定能够通过反序列化恢复。
YAML 语法与格式
基本语法
- 以
k: v
的形式来表示键值对的关系,冒号后面必须有一个空格 #
表示注释- 对大小写敏感
- 通过缩进来表示层级关系,缩排中空格的数目不重要,只要相同阶层的元素左侧对齐就可以了
- 缩进只能使用空格,不能使用
tab
缩进键 - 字符串可以不用双引号
格式
对象和键值对
通过 k: v
的方式表示对象或者键值对,冒号后必须要加一个空格:
Name: Astron
Sex: female
School: TJU
通过缩进来表示对象的多个属性:
People: Name: AstronSex: femaleSchool: TJU
也可以写成
people: {name: Astron, sex: female}
数组
数组(或者列表)中的元素采用 -
表示,以 -
开头的行表示构成一个数组
eg1:
- A
- B
- C
eg2:
people: - yyy- zzz- www
行内表示:
people: [yyy, zzz, www]
eg3: 对象数组
people: - name: yyyage: 18- name: zzzage: 19
使用流式表示:
people: [{name: yyy, age: 18},{name: zzz, age: 19}]
标量
标量是最基本的不可再分的值,包括:
- 整数
- 浮点数
- 字符串
- 布尔值
- Null
- 时间
- 日期
eg:
boolean:- true # 大小写都可以- falsefloat:- 3.14- 3.25e+5 # 科学计数法int: 12null: nodeName: namestring: 123date: 2020-01-01 # 格式为 yyyy-MM-dddatetime: 2020-01-10T15:02:08+08:00 # 日期和时间使用T连接,+表示时区
引用
&
用于建立锚点,*
用于引用锚点,<<
表示合并到当前数据
eg1:
defaults: &defaultsadapter: ppphost: qqqdevelopment: database: mq<<: *defaults
相当于:
defaults:adapter: ppphost: qqqdevelopment: database: mqadapter: ppphost: qqq
eg2:
- &showell steve
- clark
- eve
- *showell
相当于:
- steve
- clark
- eve
- steve
使用场景
脚本语言
YAML 实现简单,解析成本低,所以特别适合在脚本语言中使用
序列化
配置文件
写 YAML 比 XML 方便,所以 YAML 也可以用来做配置文件,但是,不同语言间的数据流转不建议使用YAML。
参考
百度百科
菜鸟教程
YAML简介(.yml文件后缀)相关推荐
- Spring Boot application.yml文件语法
Yaml文件: 定义: Yaml文件是用Yaml语言写的文件,Yaml语言是一种可读性高,更注重数据表达,可扩展的一种数据标记语言.Yaml文件以.yaml或者.yml为后缀,例如applicatio ...
- ModelFileType:XML、Hdf5、dat等不同模型文件后缀文件的简介、使用方法之详细攻略
ModelFileType:XML.Hdf5.dat等不同模型文件后缀文件的简介.使用方法之详细攻略 目录 一.XML文件 XML简介 XML使用方法 二.HDF5文件 HDF5简介 HDF5常见文件
- Linux新建yaml文件,Spring Boot 装载自定义yml文件
yml格式的配置文件感觉很人性化,所以想把项目中的.properties都替换成.yml文件,蛋疼的是springboot自1.5以后就把@configurationProperties中的locat ...
- 如何读取yaml(yml)文件
public class Config {//resource文件夹下的yml文件名private static final Config CONFIG = new Config("/cod ...
- 持续集成与持续部署(五)01-TravisCI——使用简介-Travis CI 只支持 Github,提供的是持续集成服务 配置项目的.travis.yml文件
持续集成与持续部署(五)01-TravisCI--使用简介-Travis CI 只支持 Github,提供的是持续集成服务 & 配置项目的.travis.yml文件 TravisCI 使用简介 ...
- SpringBoot中yml文件报错:org.yaml.snakeyaml.scanner.ScannerException:mapping values are not allowe here...
场景 SpringBoot中配置静态资源访问路径时提示: 报错代码如下: 实现 首先确保yml文件的格式要正确,每个冒号的后面要紧跟空格. 根据提示报错信息在static-path-pattern这个 ...
- Day6——yaml简介
一. 简介 SpringBoot使用一个全局配置文件: application.properties application.yml 配置文件放在src/main/resources或者类路径/con ...
- springboot yml文件不是绿叶子问题
项目的yml文件一直不显示绿色小叶子,显示文本类型或者下图类型,项目启动运行不会影响,但是看着不爽,必需整它,终于,今天解决了. 先看一下我之前的yml格式 还有这样的,看起来不舒服. 解决方案 ct ...
- Go语言读取解析yml文件,快速转换yml到go struct
YAML (YAML Ain't a Markup Language)是一种标记语言,通常以.yml为后缀的文件,是一种直观的能够被计算机程序识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交 ...
最新文章
- LabelButtonScale
- 如何在您的笔记本上搭建View 演示环境 -5.配置View Connection Server
- 可以获取python中输出函数帮助的是_Python帮助函数调试函数 用于获取对象的属性及属性值...
- python ln2怎么写_Python2和3切换默认
- delphi中的dbgrid使用
- shopee本土店怎么做,一些运营技巧分享
- java ehcahce刷新_springboot结合ehcache防止恶意刷新请求的实现
- 方维订餐系统二次开发,将商户的所有图片调到商铺详情里面
- 干货!286页李宏毅《深度学习讲义》
- Web前端工作笔记004---js--webSocket简单介绍和使用方法
- C#基础17:匿名方法与Lambda表达式
- java-redis初探
- ConcurrentHashMap!你居然不知道1.7和1.8可不一样?!
- JAVA商城系统开发 VS PHP商城系统开发
- 雅虎邮箱为什么停止服务_雅虎的发展项目将变成什么样?
- 最近插入法和最近邻点法
- 最大流_FF思想_EK算法
- 客户满意度测评模型-层次分析法模型」
- 洛谷 P3799 妖梦拼木棒
- tb获取商品详情信息API接口开发文档