什么是YAML


什么是YAML

1.YAML ="YAML Ain't Markup Language"

官方网站的解释是YAML ="YAML Ain't Markup Language"(缩写为YAML)。这是一种数据序列化(serialization )语言,是一种可读的文本的数据结构,它的设计目标是使人们容易读,程序容易处理。它类似XML,但是比XML简单。

2.设计目标:

YAML的设计目标如下:

  1. YAML 文档很容易阅读。
  2. YAML 使用本地结构存储数据。
  3. YAML 数据在编程语言之间是可移植的。
  4. YAML 有一个固定的模型来支持一般的开发工具。
  5. YAML 支持基于流的处理。
  6. YAML 表现力强,而且容易扩充。
  7. YAML 容易实现和使用。

3.和XML的关系

新手总是试图了解YAML和XML的关系,这两种语言在某些领域是处于竞争之中,除此没有什么直接关系。

YAML 首先是一种数据序列化语言,而XML则是向后继承了SGML(Standard Generalized Markup Language)。XML试图做到面面俱到,它试图成为一种文档格式、数据格式、消息包格式、安全的 RPC 通道(SOAP)甚至XML数据库;而YAML只关注有限的领域,它只是清晰地表示在动态编程语言(如 Perl、Python、Ruby)中所遇到的数据结构以及数据类型。目前,对于这些语言,已经有了一些绑定/库。
需要指出,我们已经开始做XML/YAML MAPPING的工作了,更多的信息可以访问:
http://yaml.org/xml/

4.YAML初步

YAML中数据主要由序列(sequence),map(有的也叫做hash)和标量(scalar )来表示。语法比较简单,易于人们阅读。

  • 注释由#开头
  • 序列由"-"开头
  • map用key:value的格式
  • "---"表示一个yaml文档的开始
  • list和hash可以嵌套
  • block的概念:一个 block 是一段文本。
  • Inline Collections:数据都写在一行

例子:

1。序列
- apple 
- banana 
- carrot 
2。嵌套序列
- apple 
- 
 - foo 
 - bar 
 - x123 
- banana 
- carrot 
3。map
foo: whatever 
bar: stuff 
4。map和sequence嵌套
foo: whatever 
bar: 
 - uno 
 - dos 
5。map嵌套
foo: whatever 
bar: 
 fruit: apple 
 name: steve 
 sport: baseball 
6。inline hash
---
hash: { name: Steve, foo: bar }

 

【作者: Liberal】【访问统计:】【2007年07月23日 星期一 09:12】【注册】【打印】

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值