YAML
来源:互联网 发布:ifconfig修改mac地址 编辑:程序博客网 时间:2024/04/30 15:15
[MindMap]
[参考文档]
YAML Specification
YAML 数据类型说明
[摘要]
YAML的设计目的
YAML描述: [注释, 文档, 数据结构, 数据类型, 其他]
YAML的设计目的
1、容易人类阅读
2、适合表示程序语言的数据结构
3、可用于不同程序间交换数据
4、支持泛型工具
5、支持串行处理?
6、丰富的表达能力和可扩展性
7、易于使用
粗看了specification以后感觉最好的是“容易人类阅读”,对比一下下面的xml和yaml的代码块:
# xml代码块:
<name>sina</name>
<url>http://www.sina.com.cn</url>
</site>
<site>
<name>google</name>
<url>http://www.google.com</url>
</site>
# YAML代码块
site:
name: sina
url : http://www.sina.com.cn
---
site:
name: google
url : http://www.google.com
或:
site: {name: sina, url: http://www.sina.com.cn}
---
site: {name: google, url: http://www.google.com}
YAML利用缩进或者是explicit indicatior(如上面的{})来表示属性的嵌套,更为直观和simple。
YAML描述
先来看看YAML里的主要标记:
(1)注释:
举个例子:
# Comment Example
# Profile Of Mary
Mary:
- name: Mary
- age : 19 # age property
(2)文档(document):
现在还不明白文档是什么意思,既然YAML定义是data serialization,暂时把一个doucment视为一个object序列化后得到的yaml配置信息
---
site: {name: sina, url: http://www.sina.com.cn}
---
site: {name: google, url: http://www.google.com}
(3)数据结构:
YAML的设计者认为在配置文件中所要表达的数据内容有三种类型:标量(Scalar,如字符串和整数等)、序列(Sequence,如数组)和Mapping(类似hash的key/value pair)。
sequence型主要是用来表示数组类型的数据。下图描述了YAML中Sequence型数据的表示法:
mapping数据类型主要用来表示key: value对类型的数据。YAML描述方式见下图:
最后,我们用YAML来描述一本书《单元测试知道-c#版》
--- # begin of document
书名 : '单元测试之道-C#版'
出版社: '电子工业出版社'
原作者: ['Andrew Hunt', 'David Thomas']
译者 :
- 陈伟柱
- 陶文
前二章节 :
- 第一章: 序言
- 第二章: 你的首个单元测试计划
#end of document
YAML推荐使用空格作为缩进,避免了在不同编辑器中对tab的表示形式不同而可能产生误解。
- YAML
- YAML
- Yaml
- YAML
- YAML
- YAML
- YAML
- 【Yaml】Yaml学习笔记
- 什么是YAML?
- 什么是YAML?
- YAML 简介
- YAML 是什么?
- YAML Builder
- YAML 简介
- suricata yaml
- YAML 简介
- 了解YAML
- 关于YAML
- MySQL加载JDBC驱动程序
- 黑马程序员Java----AWT
- 黑马程序员----Java概述
- 异常:Caused by: java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
- maven的安装和eclipse的配置以及构建mahout基本项目
- YAML
- 揭开linux内核中container_of的神秘面纱
- Linux inotify的功能及实现原理
- 贫血模型和充血模型
- Codeforces Round #145 (Div. 1, ACM-ICPC Rules)A
- 学习Java的第一天
- 递归算法实现全排列
- JAVA API 异常处理
- nyoj586||poj2456 二分+贪心