1.定義:
XML定義:擴(kuò)展標(biāo)記語(yǔ)言 (Extensible Markup Language, XML)
用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言,可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類(lèi)型坎拐,是一種允許用戶(hù)對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。 XML使用DTD(document type definition)文檔類(lèi)型定義來(lái)組織數(shù)據(jù);格式統(tǒng)一养匈,跨平臺(tái)和語(yǔ)言哼勇,早已成為業(yè)界公認(rèn)的標(biāo)準(zhǔn)。XML是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言 (SGML) 的子集呕乎,非常適合 Web 傳輸积担。XML 提供統(tǒng)一的方法來(lái)描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。
JSON定義JSON(JavaScript Object Notation)一種輕量級(jí)的數(shù)據(jù)交換格式
具有良好的可讀和便于快速編寫(xiě)的特性猬仁〉坭担可在不同平臺(tái)之間進(jìn)行數(shù)據(jù)交換。JSON采用兼容性很高的湿刽、完全獨(dú)立于語(yǔ)言文本格式聋溜,同時(shí)也具備類(lèi)似于C語(yǔ)言的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)體系的行為。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言叭爱。JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一個(gè)子集。
2.XML和JSON優(yōu)缺點(diǎn):
(1).XML的優(yōu)缺點(diǎn)
<1>.XML的優(yōu)點(diǎn)
A.格式統(tǒng)一漱病,符合標(biāo)準(zhǔn)买雾;
B.容易與其他系統(tǒng)進(jìn)行遠(yuǎn)程交互,數(shù)據(jù)共享比較方便杨帽。
<2>.XML的缺點(diǎn)
A.XML文件龐大漓穿,文件格式復(fù)雜,傳輸占帶寬注盈;
B.服務(wù)器端和客戶(hù)端都需要花費(fèi)大量代碼來(lái)解析XML晃危,導(dǎo)致服務(wù)器端和客戶(hù)端代碼變得異常復(fù)雜且不易維護(hù);
C.客戶(hù)端不同瀏覽器之間解析XML的方式不一致老客,需要重復(fù)編寫(xiě)很多代碼僚饭;
D.服務(wù)器端和客戶(hù)端解析XML花費(fèi)較多的資源和時(shí)間。
(1)json的優(yōu)缺點(diǎn)
<1>.JSON的優(yōu)點(diǎn):
A.數(shù)據(jù)格式比較簡(jiǎn)單胧砰,易于讀寫(xiě)鳍鸵,格式都是壓縮的,占用帶寬形炯洹偿乖;
B.易于解析击罪,客戶(hù)端JavaScript可以簡(jiǎn)單的通過(guò)eval()進(jìn)行JSON數(shù)據(jù)的讀取贪薪;
C.支持多種語(yǔ)言媳禁,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服務(wù)器端語(yǔ)言,便于服務(wù)器端的解析画切;
D.在PHP世界竣稽,已經(jīng)有PHP-JSON和JSON-PHP出現(xiàn)了,偏于PHP序列化后的程序直接調(diào)用槽唾,PHP服務(wù)器端的對(duì)象丧枪、數(shù)組等能直接生成JSON格式,便于客戶(hù)端的訪問(wèn)提扰悠肌拧烦;
E.因?yàn)镴SON格式能直接為服務(wù)器端代碼使用,大大簡(jiǎn)化了服務(wù)器端和客戶(hù)端的代碼開(kāi)發(fā)量钝计,且完成任務(wù)不變恋博,并且易于維護(hù)。
<2>.JSON的缺點(diǎn)
A.沒(méi)有XML格式這么推廣的深入人心和喜用廣泛私恬,沒(méi)有XML那么通用性债沮; JSON格式目前在Web Service中推廣還屬于初級(jí)階段。