三种不同的标记信息表达方式(XML,JSON,YAML)

来源:互联网 发布:报税软件 编辑:程序博客网 时间:2024/06/05 16:24
XML:
类似HTML,用尖括号、标签标记信息的表达形式
有内容的类:<name> ... </name>
内容为空的类,可以使用一个尖括号表示<name />
注释:<!--   -->
JSON:
JavaScript object Notation,用有类型的键值对标记信息的表达形式。
"key" : "value"
"key" : ["value1","value2"]
"key" : {"subkey" : "subvalue"}
YAML:
无类型的标记语言,用缩进表达所属关系,-表达并列关系,|表达整块数据,#表示注释
key : value
key : #Comment
 -value
 -value
key:
 subkey : subvalue


XML实例:
<person>
<firstName>Tian</firstName>
<lastName>Song</lastName>
<address>
<streetAddr>中关村南大街5号</streetAddr>
<city>北京市</city>
<zipcode>100001</zipcode>
</address>
<prof>Computer System</prof><prof>Security</prof>
</person>
有效信息比例并不高,大多数信息被标签占用


JSON实例:
{
"firstName" : "Tian",
"lastName"  : "Song",
"address"   : {
"streetAddr" : "中关村南大街5号",
"city" : "北京市",
"zipcode" : "100001"
} ,
"prof"    : ["Computer System" , "Security"]
}
键值对形式组织信息,无论是键还是值,都需要添加双引号来表示


YAML实例:
firstName : Tian
lastName  : Song
address  :
streetAddr :中关村南大街5号
city :北京市
zipcode :100001
prof  :
-Computer System
-Security
最简洁的键值对表达形式


三种表达形式的比较:
--XML是最早的通用信息标记语言,可扩展性好,但繁琐
--JSON信息有类型,本身就是程序代码的一部分,适合程序处理(js),相比XML更简洁
--YAML信息无类型,文本信息比例最高,可读性好


XML Internet上的信息交互与传递
JSON 移动应用云端和节点的信息通信,缺点是没有注释
YAML 各类系统的配置文件,有注释,易读。