最近,研究jeeweb这个框架,发现新版本中的配置文件都是用的.yml为后缀的文件,打开一看,和以前的xml和properties语法有很大区别,因此仔细研究一下。

简介:

  YAML是(YAML Ain't Markup Language)(发音 /ˈjæməl/ )不是一种标记语言”的外语缩写,在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。这种语言以数据做为中心,它使用空白符号缩排和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。

示例:

语法:

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

Sequence of Scalars  简单数据列表

 - Mark McGwire
- Sammy Sosa
- Ken Griffey

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

 hr:      # Home runs
avg: 0.278 # Batting average
rbi: # 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 McGwire
hr:
avg: 0.278
-
name: Sammy Sosa
hr:
avg: 0.288

Sequence of Sequences 列表的列表

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

Mapping of Mappings  键值对的键值对

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

最新文章

  1. Object是什么
  2. http状态码介绍
  3. bzoj 3437 斜率优化DP
  4. PHP 读取逐条数据库记录,以及提交下拉菜单选项
  5. Vbox安装oracle-linux报错:VT-x features locked or unavailable in M
  6. iOS学习笔记之typedef
  7. Servlet & JSP - Filter
  8. Java基础知识强化94:Calendar类之Calendar概述和获取日历字段的方法
  9. 服务 IntentService 前台服务 定时后台服务
  10. JBoss7 如何用脚本 启动 和 停止
  11. SDOI2017 相关分析
  12. NOIP2014-9-6模拟赛
  13. 用Python学分析 - 正态分布
  14. 第二次JAVA作业
  15. [转帖]Scanners-Box 指引
  16. day27_python_1124
  17. 通过 JDK 自带的 javap 命令查看 SynchronizedDemo 类的相关字节码信息
  18. 【Linux】【Jenkins】编译过程中遇到ERROR: Failed to parse POMs的解决方案
  19. 纯html页面中js如何获得项目路径
  20. C# 连接数据库实现增删改查

热门文章

  1. 小程序中的block
  2. ubuntu16.04下安装pangolin
  3. hadoop命令运行,去除:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform 警告
  4. Git:上传GitHub项目操作步骤
  5. Image processing in Python
  6. 360电影主页和详情页爬去入Mysql库链表读取--lowbiprogrammer
  7. http_build_query
  8. 【Python】用Python打开csv和xml文件
  9. 自增ID时如何插入ID
  10. 部署MyEclipse及Tomcat服务器