本文共 1225 字,大约阅读时间需要 4 分钟。
JSON已成web数据传输的首要选择,今天就来谈谈XML与JSON,包括两者的相同点与共同点,以及优缺点。
- JSON:javascript对象标记方法,一种轻量级的数据交换格式,是JavaScript的子集,由于是一种语言层面的规范,因此得以更好地在客户端解析使用。
- 数据格式:数字、布尔、字符串(双引号)、对象、数组、null,没有undefined。
- 良好的API支持(JSON.stringify,JSON.parse),可以在客户端实现javascript对象 与 JSON字符串之间的相互转化
- stringify(jsonObj,function(){ //对序列化做过滤限制 },space);space用于对序列号结果做缩进结构化,增强易读性。
- parse(jsonString,function(){ //对解析做过滤限制 })
- JSON的序列化和解析目标如果是对象或数组,需要注意的是会首先解析这个主题(key值为""),每遇到一个对象成员,都会递归式地进行序列化或解析,首先处理好对象本身,才能过滤对象成员。因此,要做限制的时候需要注意。
-
//错误写法var jsonObj = { name:"hezebing",sex:"male" }JSON.stringify(jsonObj,function(key,value){ if( key === "name" ){ return value }})//返回 : undefined////正确写法var jsonObj = { name:"hezebing",sex:"male" }JSON.stringify(jsonObj,function(key,value){ if(key === ""){ //对象本身 return value }else if( key === "name" ){ return value }})//返回 : "{"name":"hezebing"}"
- XML:可扩展标记语言.优点在于描述数据凸显其结构性,亦即其UI性,在良好的UI层面增加新元素非常简单而清晰。
- 描述一个实体(person),没有限定属性或者子元素来定义实体的属性(身高,年龄,性别等等),带来了很多的灵活性,也造成了不同程序之间的差异习惯,可扩展意味着"多形态",某种层面的不统一。
- 当服务端发送XML文档至客户端后,需要客户端做解析为DOM树再做节点遍历来获取数据。
json轻便、解析简单,对客户端更加友好。
XML更加笨重,解析为DOM树并遍历节点来取数据,优点是结构清晰,扩展性好。
转载地址:http://wynh.baihongyu.com/