JSON 與XML相比優點

admin發表於2018-09-05

關於JSON的語法規則可以參閱JSON 語法規則一章節。

基於自身的特點與優勢,JSON成為當前應用最為廣泛的資料傳輸格式。

一.JSON與XML各自特點:

在JSON之前,主要採用XML進行資料的傳輸,簡單程式碼演示如下:

[XML] 純文字檢視 複製程式碼
<?xml version="1.0" encoding="utf-8"?>
<country>
    <name>中國</name>
    <province>
        <name>山東</name>
        <cities>
            <city>青島</city>
            <city>濟南</city>
        </cities>
    </province>
    <province>
        <name>河北</name>
        <cities>
            <city>石家莊</city>
            <city>邯鄲</city>
        </cities>
    </province>
</country>

上面是一段簡單的XML程式碼,分析如下:

(1).XML是純文字形式,適合於資料傳輸。

(2).結構層次清晰,比較適合閱讀。

(3).具有嚴格的標籤巢狀與閉合結構,這會導致其傳輸的有效資料比重下降,效率降低。

將上述程式碼以JSON表示:

[JavaScript] 純文字檢視 複製程式碼
{
  "name": "中國",
  "province": [{
    "name": "山東",
    "cities": {
       "city": ["青島", "濟南"]
    }
  }, {
    "name": "河北",
    "cities": {
      "city": ["石家莊", "邯鄲"]
    }
  }]
}

上面是JSON資料,簡單分析如下:

(1).JSON是純文字形式,適合於資料傳輸。

(2).結構層次清晰,比較適合閱讀。

(3).沒有所謂的閉合標籤等資料外多餘的東西。

(4).JSON是JavaScript的子集,且內建了對JSON操作的方法。

二.JSON與XML比較:

1.兩者共同點:

(1).都是純文字格式。

(2).結構層次都比較清晰適合於閱讀。

2.JSON的優勢:

(1).JSON沒有嚴格的標籤巢狀閉合結構,有效資料的佔比高,傳輸效率不高。

(2).JSON是JavaScript的子集,同時內建了對其操作的方法,操作比較簡單方便。

(3).XML雖然本身結構簡單,但是具有眾多規範,例如上DTD、XSD、XPath、XSLT等,學習成本高。

三.簡單的例子:

實際應用中,經常使用AJAX配合JSON來完成任務,比與xml配合容易很多,速度也更快。

如果使用XML,需要讀取XML文件,然後使用XML DOM來迴圈遍歷文件並讀取值並儲存在變數中。

如果使用JSON,只需要獲取JSON字串,然後通過內建的方法轉換為需要的物件,然後進行相關操作即可。

相關文章