JSON 與 XML 對比

2023-04-17 11:33 更新

定義和用途

XML:擴(kuò)展標(biāo)記語言 (Extensible Markup Language, XML) ,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言。

JSON(JavaScript Object Notation)是一種輕量級的文本數(shù)據(jù)交換格式,具有良好的可讀和便于快速編寫的特性,可在不同平臺之間進(jìn)行數(shù)據(jù)交換。

JSON 和 XML 都是人類可讀的格式并且與語言無關(guān)。在現(xiàn)實環(huán)境中它們都支持創(chuàng)建,讀取和解碼。

我們可以通過以下的因素來比較 JSON 和 XML:

冗余度

XML 文件龐大,文件格式復(fù)雜,傳輸占帶寬;JSON 數(shù)據(jù)格式比較簡單,易于讀寫,格式都是壓縮的,占用帶寬小。

XML 比 JSON 冗余,因此對我們來說編寫 JSON 會更快。

數(shù)組用法

XML 被用來描述結(jié)構(gòu)化數(shù)據(jù),不包含數(shù)組;而 JSON 包含數(shù)組。

 雖然XML沒有數(shù)組,但XML也有表示一組數(shù)據(jù)的方法!

解析

JavaScript:

JavaScript可以使用JSON.parse()方法解析JSON對象。

這是一個例子:

var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');

其中,'{ “name”:“John”, “age”:30, “city”:“New York”}'是JSON對象。

也可以使用 JavaScript 的 eval 方法解析 JSON。當(dāng)針對 JSON 應(yīng)用這個方法時,eval 返回描述的對象。但不推薦使用該方法。

eval()方法會執(zhí)行任何傳遞給它的JavaScript代碼,這可能會導(dǎo)致安全問題。

XML:

可以使用DOMParser對象解析XML文本并返回一個XML Document對象。

這是一個例子:

var parser = new DOMParser();
var xmlDoc = parser.parseFromString(text,"text/xml");

其中,text是XML文本。

示例

下面分別展示了一個 XML 和 JSON 示例:

JSON:

{
    "company":"Volkswagen",
    "name": "Vento",
    "price": 800000
}

XML:

<car>
   <company>Volkswagen</company>
   <name>Vento</name>
   <price>800000</price>
</car>

相關(guān)教程

更多關(guān)于XML的知識,請參考:XML教程


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號