面试中问道了使用过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的验证还比较少。
参考:
http://www.cnblogs.com/bnuvincent/archive/2009/11/15/1603481.html
分享到:
相关推荐
在压缩包"xmlhttp+asp+javascript+xml+json"中,可能包含了示例代码或者教程,展示了如何在ASP环境中使用XMLHTTP对象与服务器通信,JavaScript处理JSON或XML响应,并在客户端进行数据操作。如果你正面临一个需要使用...
XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种常见的数据交换格式,广泛应用于Web服务和数据存储。XML以标记的方式组织数据,结构清晰,适合描述复杂的数据;而JSON则是轻量级的,...
本篇文章将深入探讨如何使用jQuery来读取XML和JSON数据,这两种数据格式在Web开发中广泛用于数据交换。 XML(Extensible Markup Language)是一种标记语言,用于存储和传输结构化数据。JSON(JavaScript Object ...
在JavaScript(JS)环境中,XML(Extensible Markup Language)与JSON(JavaScript Object Notation)之间的转换是常见的数据处理任务。XML是一种结构化数据格式,常用于数据交换,而JSON则是轻量级的数据交换格式,...
**jQuery的JSON与XML转换** `jquery.json2xml.js` 脚本允许开发者将JSON对象转换为XML字符串。在JavaScript中,你可以通过创建一个JSON对象,然后调用这个插件的方法,将其转换成XML格式。这样可以方便地将JSON数据...
总的来说,XML与JSON的选择取决于具体的应用需求,包括数据复杂性、性能要求、目标平台以及是否需要在JavaScript环境中直接操作数据。掌握它们之间的转换技巧,对于提升Web应用的灵活性和可扩展性至关重要。
XML的层次结构会被映射到JSON对象的嵌套结构中,这样前端就可以通过熟悉的JavaScript语法来访问和操作数据。 在实际应用中,比如从服务器获取的响应数据是XML格式,使用这个插件可以方便地将数据转化为JSON,然后...
1. **Jackson库**:Jackson是一个非常流行的Java JSON处理库,它提供了将JSON与Java对象互相转换的功能。对于XML到JSON的转换,Jackson提供了`jackson-dataformat-xml`模块。你需要添加以下依赖到你的`pom.xml`...
XML(Extensible Markup Language)和JSON(JavaScript Object ...TestXML文件中的内容可能是展示如何在代码中创建、解析和操作XML文件的示例。了解这两种格式的特性和使用场景,对于软件开发人员来说至关重要。
jQuery xml-to-json插件是一种用于将XML数据转换为JavaScript Object Notation (JSON)格式的工具。在Web开发中,XML和JSON都是常见的数据交换格式,但它们有着不同的应用场景和优势。XML(Extensible Markup ...
XML以其丰富的结构化特性适用于复杂的数据表示,而JSON因其简洁、易于阅读和解析的特性,常用于前端与后端的数据交互。 XML到JSON的转换通常涉及到以下几个关键知识点: 1. **XML解析**:首先,我们需要解析XML...
该插件的主要功能是将XML文档转换成JSON对象,使得在jQuery或JavaScript环境中能够更方便地操作和解析数据。这个插件特别适用于处理那些由服务器返回的XML数据,尤其是当服务器无法直接提供JSON格式的情况下。 首先...
XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛用于数据交换的格式。它们各有特点,XML提供了一种结构化的、严格的标记语言,适合复杂的文档结构,而JSON则更轻量级,易于读写,...
开发者可以将接收到的XML数据通过此库转换为JSON,然后使用JavaScript的各种工具进行数据操作,最后再将结果转换回XML发送给服务器。 使用xml2json库时,开发者通常需要按照以下步骤进行: 1. 安装:通过npm(Node...
XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种常见的数据交换格式,它们在Web服务和前端开发中广泛使用。XML以其结构化和可扩展性而著名,而JSON则以简洁和易于解析而受到青睐。在...
在IT行业中,XML(eXtensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛使用的数据交换格式。XML以其结构化特性适用于复杂的、层级式的数据存储,而JSON因其简洁明了、易于读写的特点,常...
在IT行业中,XML(eXtensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛使用的数据交换格式。XML由于其丰富的结构和强大的描述能力,常用于存储和传输复杂的数据,而JSON则以其简洁、易读且...
在Delphi中,开发者可以使用内置的XML DOM库来解析和操作XML文档,同时也可以利用第三方库或自定义代码来实现XML到JSON的转换。 "xml-to-json.zip"是一个Delphi相关的项目,它提供了将XML转换为JSON的功能。这个...
`json_encode()`函数将PHP值转化为JSON字符串,而DOMDocument则用于解析和操作XML文档。以下是一个简单的示例: ```php // 加载XML文件 $xmlFile = 'Wang.xml'; $xml = simplexml_load_file($xmlFile); // 将XML...