JSON |
1、what
json(Javascript Object Notation)是一种用于数据交换的文本格式。2001年由Douglas Crockford提出,目的是取代繁琐笨重的XML格式。
2、语法规则
(1)数据在名称/值对中
(2)数据由逗号分隔
(3)花括号保存对象
(4)方括号保存数据
3、why
为什么要使用json呢?简单地来说是因为json可以将JavaScript对象中表示的一组数据转换成字符串,这样就可以省去解析xml的损失,例: {“firstName”:”yang”,”lastName”:”Sunny”,”email”:”aaaa”}
4、表示
{
"people":[
{"firstName":"yang","lastName":"Sunny","email":"aaaa"},
{"firstName":"li","lastName":"Andra","email":"bbbb"}
]
}
XML |
1、what
扩展标记语言 (Extensible Markup Language,XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
2、优点
1.格式统一,符合标准
2.容易与其他系统进行远程交互,数据共享比较方便
3、缺点
1. XML文件格式文件庞大, 格式复杂, 传输占用带宽
2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护
3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码
4. 服务器端和客户端解析XML花费资源和时间
对比 |
文字上的比较可能还不是很直观,下面通过代码来对比。
JSON
<contact>
<friend>
<name>Sunny</name>
<email>Sunny@gmail.com</email>
<homepage>http://www.Sunny.net</homepage>
</friend>
<friend>
<name>Lucy</name>
<email>Lucy@gmail.com</email>
<homepage>http://www.Lucy.com</homepage>
</friend>
<friend>
<name>Tracy</name>
<email>Tracy@gmail.com</email>
<homepage>http://www.Tracy.com</homepage>
</friend>
</contact>
XML
[
{
name:"Sunny",
email:"Sunny@gmail.com",
homepage:"http://www.Sunny.net"
},
{
name:"Lucy",
email:"Lucy@gmail.com",
homepage:"http://www.Lucy.com"
},
{
name:"Tracy",
email:"Tracy@gmail.com",
homepage:"http://www.Tracy.com"
}
]
总结 |
这两种格式是我们写前端时都会用到的,各有优缺点,重点是什么时候用。