JavaScript读取XML与JSON比较

面试中问道了使用过xml没有,在我做过的ROR项目中浏览器和服务器中大多数传输的是json格式数据,但这要看客户端需要的是哪种类型数据了,Rails框架中就提供了数据类型这样接口。所以在客户端请求该类型数据很容易组织数据。

在客户端:

对于JSON数据,只需要调用JavaScript的Eval方法就可以将JSON字符串序列化成为JavaScript对象,而后就可以直接访问了。

对于XML数据,其本身是一个DOM Tree的数据结构,开发人员必须使用DOM API来访问和处理XML数据,而且DOM在各个浏览器中的实现也不尽相同,所以针对XML DOM的编程方式会变的更为复杂。

在服务端:

对于序列化或者犯序列化一个对象成为XML字符串,各种服务端的编程语言都有提供,而且还会有多种方式。例如.NET Framework就提供了XmlSerializer类来序列化一个对象成为Xml文档,另外开发人员还可以使用XmlWriter、XMLDocument来直接构建Xml字符串。

对于JSON这样一种数据格式则鲜有提供,这就需要开发人员自己动手或者使用一些Open Source的Library。在复杂对象的序列化或者反序列化上,由于Xml做的比较早应该会更稳定一些。

在性能上:

从数据传输量上来看JSON显然要优于XML,JSON更轻量级一些,它没有像XML那样多的Open和Closing标记。同时在对数据的解析速度上,JSON也要优于XML。

在安全性上:

JSON 本来是JavaScript 的一个安全的子集,不会含有赋值和调用。因此在将JSON数据装换成为JavaScript对象的时候,包括许多JavaScript库都使用eval函数。这意味着获取的JSON数据将被解析并执行,对于数据是来自用户输入的话,可能会带来意想不到的安全性问题。攻击者也可以利用这点发送畸形、恶意JSON数据,这样Eval 函数就会执行这些恶意代码。从数据格式的验证角度来看的话,XML的验证技术更成熟,而目前关于JSON的验证还比较少。

参考:

[url]http://www.cnblogs.com/bnuvincent/archive/2009/11/15/1603481.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值