YAML文件简介

我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟。

YAML(Yet Another Markup Language)(发音 /ˈjæməl/ )
 一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言。

适应场景

  1. 脚本语言:由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用
  2. 序列化: YAML是由宿主语言数据类型直转,的比较适合做序列化。
  3. 配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。

语言优点

  1. YAML易于人们阅读。
  2. YAML数据在编程语言之间是可移植的。
  3. YAML匹配敏捷语言的本机数据结构。
  4. YAML具有一致的模型来支持通用工具。
  5. YAML支持单程处理。
  6. YAML具有表现力和可扩展性。
  7. YAML易于实现和使用。

YAML 语法

  1. 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不能使用 Tab,各个系统 Tab对应的 Space 数目可能不同,导致层次混乱)
  2. ‘#’表示注释,只能单行注释,从#开始处到行尾
  3. 破折号后面跟一个空格(a dash and space)表示列表
  4. 用冒号和空格表示键值对 key: value
  5. 简单数据(scalars,标量数据)可以不使用引号括起来,包括字符串数据。用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用C风格的转义字符

Sequence of Scalars  简单数据列表

- Mark McGwire
- Sammy Sosa
- Ken Griffey

Mapping Scalars to Scalars 简单数据键值对以及注释

hr:  65    # Home runs
avg: 0.278 # Batting average
rbi: 147   # Runs Batted In

Mapping Scalars to Sequences 简单数据列表键值对

american:- Boston Red Sox- Detroit Tigers- New York Yankees
national:- New York Mets- Chicago Cubs- Atlanta Braves

Sequence of Mappings 键值对列表

-name: Mark McGwirehr:   65avg:  0.278
-name: Sammy Sosahr:   63avg:  0.288

YAML 还支持流类型,用中括号括起来表示列表,用逗号分隔元素;用大括号括起来表示键值对,用逗号分隔元素。

Sequence of Sequences 列表的列表

- [name        , hr, avg  ]
- [Mark McGwire, 65, 0.278]
- [Sammy Sosa  , 63, 0.288]

Mapping of Mappings  键值对的键值对

Mark McGwire: {hr: 65, avg: 0.278}
Sammy Sosa: {hr: 63,avg: 0.288}

yaml 官方网站:http://www.yaml.org

yaml 官方文档:http://www.yaml.org/spec/1.2/spec.html
想了解更多技术文章,请关注“java开发者联盟”

yaml文件 .yml相关推荐

  1. yaml文件 *.yml 写法简介

    YAML文件简介 我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟. YAML(Yet Anot ...

  2. YAML文件(.yml)中的键(key)通过变量引用来设置

    转自:https://www.cnblogs.com/haycheng/p/13299183.html 通过变量引用设置配置量的[值](value) 在YAML文件中,一个配置量的值可以通过引用另一个 ...

  3. 《OpenCV3编程入门》学习笔记5 Core组件进阶(六)输入输出XML和YAML文件

    第5章 Core组件进阶 5.6 输入输出XML和YAML文件 5.6.1 XML和YAML文件 XML和YAML是使用非常广泛的文件格式,可以利用XML或者YAML式的文件存储和还原各种数据结构,还 ...

  4. 如何在Python中解析YAML文件

    如何在Python中解析YAML文件? #1楼 不依赖C标头的最简单,最纯净的方法是PyYaml( 文档 ): #!/usr/bin/env pythonimport yamlwith open(&q ...

  5. 利用opencv中的类FileStorage生成和读取XML和YAML文件

    有时候程序中的变量值.字符串.数组等数据也需要独立于源代码本身保存,这个时候就需要用到XML和YAML文件进行保存. OpenCV4提供了用于生成和读取XML文件和YAML文件的类FileStorag ...

  6. OpenCV中XML文件和YAML文件的读写

    OpenCV中XML文件和YAML文件的读写 代码如下: #include <opencv2/core/core.hpp> #include <iostream> #inclu ...

  7. android读取本地yaml文件_python笔记11-读取yaml配置文件(pyyaml)

    YAML简介 YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用. YAML 的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以 YAML ...

  8. yamlcpp遍历_OpenCV文件输入和输出使用XML和YAML文件

    目标 您会找到以下问题的答案:如何使用YAML或XML文件打印和读取文本和OpenCV文本条目? OpenCV数据结构如何做同样的操作? 如何为您的数据结构做这个? 源代码 您可以从这里下载,也可以在 ...

  9. python生成yaml文件_Python实践34-读写yaml文件

    关于yaml YAML语言的设计目标,就是方便人类读写.如果你想要实现一些用ini不好做到的配置,可以使用yaml格式作为配置文件 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使 ...

最新文章

  1. 应用中验证码的生成方法.
  2. 书籍记录——C++大学基础教程(第五版)
  3. LeetCode 3Sum
  4. 在SAP C4C里触发SAP ERP的ATP check和Credit check
  5. Another app is currently holding the yum lock; waiting for it to exit...
  6. 【树形dp】VK Cup 2012 Round 1 D. Distance in Tree
  7. 【STM32H7的DSP教程】第22章 DSP矩阵运算-放缩,乘法和转置矩阵
  8. 20100920卡巴最新激活码下载
  9. 论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation
  10. Android内存和SD卡的数据存取
  11. 三大组件之Spring 第四章Spring与DAO
  12. 我在 B 站挖到了 9 款深藏不露的工具,每个都好用到爆!
  13. python roundup 和 rounddown
  14. GBase 8c数据库登陆
  15. (附源码)springboot工作计划管理软件 毕业设计 181638
  16. Red Hat Enterprise Linux 官方正式版镜像下载
  17. 易语言.尘土界面库2.0版源代码分析(1):缘起
  18. linux(07)之内核系统调用
  19. Alpine镜像介绍
  20. 柬埔寨月薪 4 万敲代码?真相是我差点丢了性命!

热门文章

  1. python--定义新矩阵、矩阵赋值、改变类型
  2. 榆熙电商:拼多多百亿补贴logo可以提高转化率吗?
  3. SHU 第十届程序设计联赛(夏季赛) 解题报告
  4. 浏览器调试工具网页性能分析中的使用
  5. python:collisions=pygame.sprite.groupcollide(bullets,aliens,True,True)
  6. dom4j 获取xml中指定节点的信息
  7. VB数值从小到大排序
  8. 【转】从EDA使用角度捋一遍芯片设计流程
  9. Qt读取qss文件失败或qss不生效解决方案
  10. select下拉框设置边框样式