關於 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 中可以找到陣列、物件、名稱和值對以及其他資料型別。該格式使用引號、括號、圓括號、分號和冒號作為標點符號。

更新於: 2023 年 3 月 2 日

541 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告