JSON簡介 (Javascript Object Nonation)

來源:互聯網
上載者:User
什麼是JSON?
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。易於人閱讀和編寫。同時也易於機器解析和產生。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用完全獨立於語言的文字格式設定,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的資料交換語言。 JSON構建的結構:
1. “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),雜湊表(hash table),有鍵列表(keyed list),或者關聯陣列 (associative array)。
2. 值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。

這些都是常見的資料結構。事實上大部分現代電腦語言都以某種形式支援它們。這使得一種資料格式在同樣基於這些結構的程式設計語言之間交換成為可能。JSON的具體形式

1、對象是一個無序的“‘名稱/值’對”集合。一個對象以“{”開始,以“}”結束。每個“名稱”後跟一個“:”,“‘名稱/值’對”之間使用“,”分隔。
2、數組是值(value)的有序集合。一個數組以“[”開始,“]”結束。值之間使用“,”分隔。
3、值(value)可以是雙引號括起來的字串(String)、數值(number)、true、false、null、對象(object)或者數組(array)。這些結構可以嵌套。
4、字串(string)是由雙引號包圍的任意數量Unicode字元的集合,使用反斜體轉義。一個字元(character)即一個單獨的字串(characeter string).

JSON與XML的比較

可讀性
  JSON和XML的可讀性可謂不相上下,一邊是建議的文法,一邊是規範的標籤形式,很難分出勝負。
可擴充性
  XML天生有很好的擴充性,JSON當然也有,沒有什麼是XML能擴充,JSON不能的。
編碼難度
  XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不藉助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
解碼難度
  XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。
執行個體比較
XML和JSON都使用結構化方法來標記資料,下面來做一個簡單的比較。
現假設有一個使用者資料包括:使用者名稱、密碼、所在部門、性別、年齡。
用XML表示如下:
<?xml version="1.0" encoding="utf-8"?>
<user>
<name>張三 </name>
123456</password>
<department>技術部</department>
<sex>男</sex>
<old>30</old>
</user>
用JSON表示如下:
{
"name":"張三",
"password":"123456",
"department":"技術部",
"sex":"男",
"old":"28"
}
與XML一樣,JSON也是基於文本的,且它們都使用Unicode編碼,同樣具有可讀性。XML比較適合於標記文檔,而JSON卻更適合於時行資料交換處理。

JSON官方網站
有關JSON的更多介紹,訪問它的官方網站:www.json.org
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.