JSON 和 XML

一、JSON

JSON的全稱是 JavaScript Object Notation (JS對象標記),是一種輕量級的數據交換格式。經常用在前臺和後端做信息交互。

其採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。json只是字符串!

語法

鍵值對:{"鍵":"值"}


  • 對象表示爲鍵值對
  • 多個數據之間用逗號分隔,
  • 花括號保存對象{}
  • 方括號保存數組[]

2、XML

可擴展標記語言

3、JSON和XML的比較

舉一個同樣的例子,看看在不同的方式下面,實現方式有何不同。
同樣的例子之XML
<?xml version="1.0" encoding="utf-8"?>
<country>
    <name>中國</name>
    <province>
        <name>黑龍江</name>
        <citys>
            <city>哈爾濱</city>
            <city>大慶</city>
        </citys>
    </province>
    <province>
        <name>廣東</name>
        <citys>
            <city>廣州</city>
            <city>深圳</city>
            <city>珠海</city>
        </citys>
    </province>
    <province>
        <name>臺灣</name>
        <citys>
            <city>臺北</city>
            <city>高雄</city>
        </citys>
    </province>
    <province>
        <name>新疆</name>
        <citys>
            <city>烏魯木齊</city>
        </citys>
    </province>
</country>
同樣的例子之JSON
{
    "name": "中國",
    "province": [
        {
            "name": "黑龍江",
            "citys": {
                "city": [
                    "哈爾濱",
                    "大慶"
                ]
            }
        },
        {
            "name": "廣東",
            "citys": {
                "city": [
                    "廣州",
                    "深圳",
                    "珠海"
                ]
            }
        },
        {
            "name": "臺灣",
            "citys": {
                "city": [
                    "臺北",
                    "高雄"
                ]
            }
        },
        {
            "name": "新疆",
            "citys": {
                "city": [
                    "烏魯木齊"
                ]
            }
        }
    ]
}
由上可見,JSON的表達方式比xml簡潔很多。最重要的是,JSON沒有了專門的DOM解析。JSON中的數據只要符合JavaScript的聲明規範,JavaScrip就會自動解析。Ajax中使用JSON的基本方法是,前臺載入後臺聲明的Javascript對象的字符串。然後,用eval()方法來將它轉爲實際的對象,最後通過 DHTML更新頁面信息。
json的優點
1、JSON不僅減少了解析XML解析帶來的性能問題和兼容性問題;而且對於Javascript來說非常容易使用,json可以很方便的通過遍歷數組,以及訪問對象屬性來獲取數據。
2、其可讀性也不錯,基本具備了結構化數據的性質。
3、JSON的另外一個優勢是"跨域性",大部分的編程語言都支持json,從而可以在不同平臺間進行數據交換。

JSON 和 XML 優缺點的比較

1.       在可讀性方面,JSON和XML的可讀性不相上下,一邊是建議的語法,一邊是規範的標籤形式
2.       在可擴展性方面,XML天生有很好的擴展性,JSON當然也有,沒有什麼是XML能擴展,JSON不能的。
3.       在編碼難度方面,XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
4.       在解碼難度方面,XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎爲0。
5.       在流行度方面,XML已經被業界廣泛的使用,而JSON纔剛剛開始,但是在Ajax這個特定的領域,未來的發展一定是XML讓位於JSON。到時Ajax應該變成Ajaj(AsynchronousJavascript and JSON)了。
6.       JSON和XML同樣擁有豐富的解析手段。
7.       JSON相對於XML來講,數據的體積小。
8.       JSON與JavaScript的交互更加方便。
9.       JSON對數據的描述性比XML較差。
10.     JSON的速度要遠遠快於XML。
  JSON XML
可讀性 建議的語法 規範的標籤
     
     
     
     
     
     
     
     
     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章