關於 JSON 的有趣事實
JSON 代表 JavaScript 物件表示法,基本上,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 的公認 Internet 媒體型別為 application/JSON。.json 副檔名用於 JSON 檔名。
Douglas Crockford 是第一個定義和推廣 JSON 格式的人。2001 年 4 月,Douglas Crockford 和 Chip Morningstar 傳送了第一條 JSON 訊息。
Crockford 在 JSON 許可證中插入了一句話,宣告“軟體應用於善,而非惡。”另一方面,由於自由軟體和開源軟體通常意味著對使用目的沒有限制,因此此部分導致 JSON 許可證與其他開源許可證的許可證相容性問題。
JSON 格式的語法類似於 JavaScript 物件建立程式碼的語法。這使得 JavaScript 程式可以輕鬆地將 JSON 資料轉換為 JavaScript 物件。JSON 資料可被任何程式語言使用,並且由於它僅以文字格式存在,因此易於在機器之間傳輸。
在 Communities.com 上有一個名為 Cartoon Orbit 的兒童數字資產交易遊戲(州聯合創始人之前都曾在該公司工作),用於 Cartoon Network,它使用瀏覽器端外掛和自定義訊息系統來更改 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 程式碼中,我們可以看到有五個鍵值對,其中鍵以簡單字串的形式存在,而值可以是字串或其他物件,可以是任何東西,例如陣列、字串等。所有鍵值對都用逗號分隔,幷包含在花括號中。
任何資料都可以以這種方式儲存,並且可以輕鬆地以這種格式傳遞或共享。
在 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 中可以找到陣列、物件、名稱和值對以及其他資料型別。該格式使用引號、括號、圓括號、分號和冒號作為標點符號。