1.概念
JSON:JavaScript Object Notation 【JavaScript 对象表示法】.
XML:extensiable markup language 被称作可扩展标记语言
JSON和XML都是数据交换语言,完全独立于任何程序语言的文本格式。
2.共同点
用于RPC远程调用数据交换格式
区别:
XML文件格式复杂,比较占宽带,服务器端与客户端解析xml话费较多的资源和时间.
JSON文件格式压缩,占宽带小
3.优缺点
XML的优点
A.格式统一,符合标准;
B.容易与其他系统进行远程交互,数据共享比较方便
XML的缺点
A.XML文件庞大,文件格式复杂,传输占带宽;
B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
D.服务器端和客户端解析XML花费较多的资源和时间。
JSON的优点
A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
B.易于解析,客户端JavaScript可以简单的通过eval_r()进行JSON数据的读取;
C.支持多种语言,包括服务器端语言,便于服务器端的解析;
D.JSON格式能直接为服务器端代码使用,简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护
JSON的缺点
A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;
B.JSON片段的创建和验证过程比一般的XML稍显复杂。
4.xml的命名空间
XML 命名空间在 XML 文档顶部使用 xmlns 属性定义,语法为 xmlns:prefix=’URI’。
<root xmlns:inst="http://instruments.com/inst" <inst:phone> <inst:number>837363223</inst:number> </inst:phone> </root>
5.Xpath
XPath 是用于从 XML 文档检索元素的 XML 技术。XML 文档是结构化的,因此 XPath 可以从 XML 文件定位和检索元素、属性或值。从数据检索方面来说,XPath与 SQL 很相似,但是它有自己的语法和规则。
6.DOM 和 SAX
DOM解析读取整个XML文档,在内存中形成DOM树,很方便地对XML文档的内容进行增删改。
但如果XML文档的内容过大,那么就会导致内存溢出!
SAX解析采用部分读取的方式,可以处理大型文件,但只能对文件按顺序从头到尾解析一遍,不支持文件的增删改操作
SAX是基于事件的。当某个事件被触发时,才获取相应的XML的部分数据,从而不管XML文件有多大,都只占用了少量的内存空间。
7.Json
JSON 语法规则
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
在上面的JSON数据中,有三个名称,分别是code、info和msg。
{ "employees": [ { "firstName": "liu", "lastName": "bei" }, { "firstName": "guan", "lastName": "yu" }, { "firstName": "zhang", "lastName": "fei" } ] }