JSON 代表 JavaScript Object Notation,基本上,JSON 經常與 JavaScript 一起使用,它最初是 JavaScript 編程語言的子集。然而,JSON 是一種獨立于語言的數據格式。在本文中,我們將通過示例了解 JSON 及其有趣的事實。
JSON 簡介
當數據可以以簡單的格式傳輸和存儲時,稱為 JSON,或 JavaScript 對象表示法。數組、對象、名稱和值對以及其他數據類型都可以在 JSON 中找到。該格式使用引號、方括號、括號、分號和冒號作為標點符號。在 JSON 中,數據表示為名稱-值對,很像 JavaScript 對象屬性。 JSON 是一種輕量級的數據傳輸方式。而且,這種語言被描述為基于原型、多范式和動態的。每當數據從服務器發送到網頁時,我們都需要使用 JSON。
JSON 事實
在這里,我們將通過解釋和示例討論有關 JSON 的許多有趣的事實。以下是有關 JSON 的有趣事實 –
最初,JSON 被認為是 JavaScript 編程語言的子集。 (特別是 1999 年 12 月發布的標準 ECMA-262,第三版)。
JSON 是由 JavaScript 生成的,現在許多編程語言都有可用于調用和解釋 JSON 格式數據的代碼。它是一種不特定于語言的數據格式。接受的 JSON 互聯網媒體類型是 application/JSON。 .json 擴展名用于 JSON 文件名。
Douglas Crockford 是第一個定義并推廣 JSON 格式的人。 2001 年 4 月,Douglas Crockford 和 Chip Morningstar 發送了第一條 JSON 消息。
Crockford 在 JSON 許可證中插入了一個短語,聲明“該軟件應用于善良,而非邪惡”。另一方面,由于自由軟件和開源軟件通常意味著對使用目的沒有限制,這部分內容導致了 JSON 許可證與其他開源許可證的許可兼容性問題。
JSON 格式的語法與 JavaScript 對象創建代碼的語法相當。這使得 JavaScript 程序可以輕松地將 JSON 數據轉換為 JavaScript 對象。 JSON 數據可以被任何編程語言使用,并且由于它只是文本格式,因此可以在機器之間輕松傳輸。
Cartoon Network 的 Communities.com 上有一款兒童數字資產交易游戲,名為“Cartoon Orbit”(State 聯合創始人均曾在該公司工作過),使用的是瀏覽器端插件,帶有自定義消息系統以更改 DHTML 組件。這是 JSON 庫的開始階段。
如果 JSON 文件存在語法問題,請求通常會失敗且無提示。因此,不應頻繁手動編輯 JSON 數據。數據交換格式 JSON 比 JavaScript 的對象字面量表示法具有更高的語法要求。例如,JSON 表示中的所有字符串,無論是值還是屬性,都需要包含在雙引號中
JSON 字符串由用戶瀏覽器中運行的 JavaScript 解密,然后在頁面上顯示產品數據。
使用 JSON
正如我們所見,JSON 是 JavaScript 編程語言中的一種對象類型,它以字符串文字的形式存儲數據,并以 .json 擴展名結尾。 JSON 的對象以鍵值格式存儲數據,就像 JavaScript 的對象一樣,用大括號括起來。讓我們看一個例子來更好地了解 JSON 代碼 –
{ "key1" : "pair1", "key2" : "pair2", "key3" : { "sub-key1" : "opp_value", "sub_key2" : "opp_value", }, "key4" : { "sub-key1" : "opp_value", "sub_key2" : "opp_value", }, "key5" : "pair5", }
登錄后復制
在上面的 JSON 代碼中,我們可以看到有 5 個鍵對,其中鍵是簡單字符串的形式,鍵對可以是字符串,也可以是其他對象,可以是數組、字符串等。所有密鑰對均由逗號分隔并覆蓋在大括號內。
任何數據都可以以這種方式存儲,并且可以使用這種格式以簡單的方式傳遞或共享。
在 JSON 中存儲數組
我們已經看到了編寫 JSON 對象的簡單代碼,現在讓我們看看用戶如何在 JSON 對象中存儲數組 –
{ "key1" : "pair1", "key2" : "pair2", "key3" : { "sub-key1" : "opp_value", "sub_key2" : "opp_value", }, "key4" : [ "sub-key1" : "opp_value", "sub_key2" : "opp_value", object1, object2 ], "key5" : "pair5", }
登錄后復制
在上面的代碼中,我們可以看到第四個鍵中存儲的是一個數組,而不是另一個對象,這是 json 支持的。
JSON 和 XML 之間的區別
JSON 和 XML 都用于存儲數據并共享或傳輸數據,并且兩者都非常擅長自己的聯盟??,讓我們看看它們之間的一些區別 –
與 XML 相比,JSON 非常容易學習,因為它并不直接使用。
由于 JSON 只是一個包含密鑰對形式的數據的直字符串,因此很容易讀寫 JavaScript 對象,而 XML 則很難讀寫
JSON 是面向數據的,并且以這種方式工作,而 XML 是面向文檔的。
JSON 并不安全,因為它只是面向數據的,而 XML 與 JSON 相比相當安全。
XML 不支持數組,而 JSON 提供了支持數組的工具。
XML 和 JSON 之間的相似之處
我們已經看到了 JSON 和 XML 之間的一些差異,現在讓我們看看它們之間的一些共同點 –
由于 XML 和 JSON 都包含人們可以閱讀的文本,因此它們都是自描述性的
JSON 和 XML 都支持分層組織。當我們談論層次結構時,我們指的是包含在值中的值。
數據交換格式 JSON 和 XML 等數據交換格式受到多種編程語言的支持。
這兩種格式都可以快速、簡單地處理。
檢索:兩種形式的數據都可以使用 HTTP 請求檢索??梢允褂?GET、PUT 和 POST 方法檢索數據。
結論
在本文中,我們通過示例了解了 JSON 及其有趣的事實。 JSON 代表 JavaScript 對象表示法,基本上,JSON 經常與 JavaScript 一起使用,它最初是 JavaScript 編程語言的子集。數組、對象、名稱和值對以及其他數據類型都可以在 JSON 中找到。該格式使用引號、方括號、括號、分號和冒號作為標點符號。
以上就是關于 JSON 的有趣事實的詳細內容,更多請關注www.92cms.cn其它相關文章!