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为后缀的文件,是一种直观的能够被计算机程序识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交 ...
最新文章
- graphpad做折线图坐标轴数字_多组数据制作折线图,四步让你的图表实用又美观,老板看了都说好...
- PHP中怎样实现正负数的相加,PHP 求任意n个正负整数里面最大的连续和
- 微信小程序之旅一(页面渲染)
- 记华为综合面试(IT集成类)
- XLua访问C#中的List或者数组
- Spring Cloud学习笔记---一分钟知晓Zuul
- Java 读取txt文件生成Word文档
- linux 解压 WinRAR 压缩文件
- Nodejs页面访问加载静态资源
- python 日历壁纸_将桌面日历添加到您的MAC
- hilbert方程组matlab,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
- 第三方开发工具—PyCharm(安装、使用、汉化)超详细、图超多、注脚特多(Windows操作系统)
- NNDL 实验五 前馈神经网络(3)鸢尾花分类
- MEION:Costas环 环路滤波器参数设置程序
- NTP网络校时(北斗卫星授时设备)技术核心源码让网络时间同步不再难
- 三维主成分图matlab,PCA主成分分析之三维演示(Matlab)
- mybatis 开启日志记录 打印sql语句
- ctfshow 萌xin赛
- 解析机器人与人工智能领域的创新创业
- 2021工业交换机前十大品牌排行榜,工业交换机哪个牌子好?
热门文章
- 小程序源码:聊天斗图微信表情包
- 【本地ASP网站】Microsoft OLE DB Provider for ODBC Drivers
- VUE | key的内部原理、Vue监测数据的原理、Vue.set()和vm.$set()的使用
- 超实用!7 个优秀的 UI 交互动画技巧
- Taylor公式和插值多项式
- 手机里面的照片被误删了怎么找回?
- 佐糖推出API服务,智能抠图去背景人像分割一键完成
- 许鞍华新片《七里地》催泪 网友:看完想回家过年
- 【历史上的今天】5 月 21 日:Simula 67 发布;微软推出 Xbox One;计算机先驱诞生日
- 头条/抖音小程序内容安全检测(违规词过滤)