XML刚学会,怎么又出来个YAML!
Posted 自动化软件测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML刚学会,怎么又出来个YAML!相关的知识,希望对你有一定的参考价值。
XML(eXtensible Markup Language)可扩展标记语言,曾经是IT软件开发界,标记数据、定义数据的大哥大。
很多从事Spring的同学,没少花时间在写XML文件上吧?
不过随着时间推移,XML的大哥大地位越来愈多收到了挑战。
这不,除了JSON,又冒出来一个YAML。到底YAML是个怎么回事?看看下面的文章,小伙伴们就明白了。
YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。
YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。
Clark Evans(某软件行业大牛)在2001年首次发表了这种语言。当前已经有数种编程语言或脚本语言支持(或者说解析)这种语言。
YAML的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。
YAML使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
一个人叫John Smith,35了(他居然35了?!他在哪里工作吖?)他夫人叫Jane Smith,比他小两岁。
目前,市面上常见的开发语言:JAVA、Python、Golang、php、C/C++都支持YAML。
YAML灰常适合用来表达层次结构式(hierarchical model)的数据结构,而且还有精致的语法可以表示关系性(relational model)的数据。
上面的例子,也能看出YAML的一个显著特点:多行缩进
数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。
• 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
• 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
• 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
Yaml 也允许另一种写法,将所有键值对写成一个行内对象。
例如:Person: { FirstName: John, LastName: Does}
YAML中,数据结构的子成员是一个数组,则可以在该项下面缩进一个空格。
例如:people: [John, Richard]
字符串是各种开发语言里最常见,也是比较复杂的一种数据类型。
复杂点儿的,YAML字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。
{ introduction: 'John Doe Chinese' }
再复杂点儿的,YAML中多行字符串可以使用 | 保留换行符,也可以使用 > 折叠换行。
{ this: 'John Smith ', that: 'Jenny Smith ' }
YAML中,锚点 & 和别名 * ,可以用来引用。
database: our_development
|
database: our_development
|
&用来建立锚点(defaults),<<表示合并到当前数据,*用来引用锚点。
关于YAML,今天就介绍这么多,同学们想要更多了解YAML,可以关注官网:https://yaml.org/
以上是关于XML刚学会,怎么又出来个YAML!的主要内容,如果未能解决你的问题,请参考以下文章
学会yaml后,我把项目里的xml都扔到垃圾桶里
单片机找工作好找吗?不懂英语怎么学会单片机?
感觉刚学会MVC-老生再谈一谈
我是怎么学会linux的?
刚学会 TypeScript, 顺手做个贪吃蛇小游戏
刚学会 TypeScript, 顺手做个贪吃蛇小游戏