Jeffrey Erickson | 內容策略師 | 2024 年 4 月 4 日
在 Web 和行動應用程式開發過程中,有一種多功能資料格式佔據主導地位,那就是 JavaScript Object Notation,更常稱為 JSON。JSON 是一種輕量型資料交換格式,為不同系統提供標準化且有效率的方式來交換資料。由於簡單、彈性並與熱門程式設計語言相容,JSON 已成為建置 Web 應用程式的基礎技術,並享有熱忱開發人員社群的支援。
以下是 JSON 的相關須知。
JSON (JavaScript Object Notation) 是一種文字式格式,能夠以人類可讀且機器可剖析的方式儲存和交換資料。因此,JSON 相當容易學習和進行疑難排解。雖然 JSON 的根源為 JavaScript,但已發展成高功能資料格式,可簡化各種平台和程式設計語言的資料交換。如果您參與 Web 開發、資料分析或軟體工程,JSON 是您必須瞭解的重要資料格式。
重點精華
JSON 是 Web 開發人員經常用來在伺服器與 Web 應用程式之間傳輸資料的資料格式。開發人員通常偏好使用 JSON,因為能夠簡化不同技術之間的資料交換。例如,當使用者與 Web 應用程式互動進行購買時,應用程式會以 JSON 格式將使用者的輸入傳送至伺服器。伺服器會處理資料並同樣以 JSON 格式傳回回應,然後由 Web 應用程式轉譯。這讓用戶端與伺服器之間能夠順暢地交換資料,以提供快速、動態且互動的 Web 體驗。
JSON 的語言獨立性質,使其成為在不同程式設計語言和平台之間交換資料的理想格式。例如,以 Java 撰寫的應用程式可以輕鬆將 JSON 資料傳送至 Python 應用程式。或者,以 JavaScript 撰寫的行動應用程式可以使用 JSON 與以 PHP 撰寫的後端伺服器通訊。這是為什麼呢?因為這兩個系統都可以剖析和產生 JSON。
除了 Web 開發之外,JSON 經常在應用程式或 IT 系統中用於儲存和管理組態設定。舉例來說,以 JSON 格式撰寫的組態檔可包含基本資訊,例如資料庫連線詳細資料、API 金鑰或使用者偏好設定。藉由以簡單、容易讀取且容易剖析的 JSON 檔案儲存組態資料,開發人員無須變更程式碼即可修改應用程式設定。
由於 JSON 是一種在現代化程式設計語言和軟體系統方面享有廣泛支援的彈性資料交換格式,因此成為開發人員的首選。文字形式的 JSON 不占空間,而且資料格式容易剖析,換句話說,不需要額外的程式碼,就能瞭解及解譯提供的資料。
由於 JSON 提供更快的資料交換和網路服務結果,因此大幅提升 API 程式設計和網路服務效能。此外,也可協助開發人員立即存取開源 NoSQL 文件資料庫 (例如 MongoDB 等),這些資料庫以 JSON 格式儲存資料,在交換資料時不需要額外的處理。熱門關聯式資料庫現在可以將 JSON 作為原生格式處理,讓更多應用程式能夠利用 JSON。
您可以使用多種格式在網路上儲存和傳輸資料。其中三種熱門選擇是 JSON、XML 和 HTML。JSON 和 XML 都是用來儲存和傳輸資料的格式,而且各有不同的優點。HTML 是用來建立網頁結構的語言,通常會搭配上述資料儲存格式使用。
在開發的相關資訊環境中,資料類型是可以使用程式設計語言儲存和操作的不同類型值。每種資料類型都有自己的一組屬性和行為。JSON 支援數種資料類型,包括:
JSON 的運作方式是以階層方式表示資料,使用索引鍵-值組來儲存資訊。JSON 資料會以大括號 ({}) 括住,其中每個索引鍵-值組都會以逗號 (,) 分隔。例如,下列 JSON 表示某人的聯絡資訊:
```
{
"name": "Jane Smith",
"age": 35,
"city": "San Francisco",
"phone": "014158889275",
"email": "janesmith@sample.com"
}
```
在此範例中,"name"、"age"、"city"、"phone" 和 "email" 為索引鍵,而 "Jane Smith"、"35"、"San Francisco"、"014158889275" 和 "janesmith@sample.com" 為對應值。
JSON 是開發人員廣泛使用的熱門選擇,包括使用 MERN (由 MongoDB、Express、React 和 Node.js 組成) 和 MERN (以 Angular 取代 React) 等堆疊的開發人員。
JSON 在開發人員之間的廣泛使用產生了許多專用於該資料格式的高功能資料庫,包括 SQL 和 NoSQL 資料庫。
NoSQL 文件資料庫會直接以 JSON 格式儲存資料,無須額外處理。熱門 NoSQL 資料庫 (例如 MongoDB、Redis 和 Couchbase) 也支援巢狀、物件參照和陣列,讓 JSON 資料庫更容易維護。近年來,這些 NoSQL 資料庫已發展成能夠提供彈性架構以及更高擴展能力和效能等優勢。由於支援彈性和動態資料結構,這些資料庫在儲存半結構化資料 (例如文字文件、影像或社交媒體饋送內容) 的表現出色。
Oracle Database 等廣泛使用的 SQL 資料庫現在提供 JSON 資料類型選項,讓開發人員無須在專案中加入專門的 JSON 資料庫,就能使用 JSON。這讓開發團隊能夠享有 SQL 的現成優勢,並能夠在單一資料庫中使用其他資料類型 (包括圖形、空間、REST、區塊鏈和關聯式資料)。
想要利用 JSON 管理資料的人員可以考慮使用 Oracle Autonomous JSON Database,這是一種功能完整的雲端式文件資料庫服務,可簡化開發 JSON 核心型應用程式的過程。Oracle Autonomous JSON Database 還提供各種複雜的資料庫功能,包括透過 Oracle SODA 和 Oracle Database API for MongoDB 的 NoSQL 式文件 API、無伺服器擴展、高效能 ACID 交易以及全方位安全性,可隨用隨付,因此價格低廉。
Oracle 也提供容易使用的資料庫服務,可將資料庫管理自動化,包括佈建、設定、調整、擴展、修補、加密和修復資料庫等功能。您可以免費開始使用 Oracle Autonomous JSON Database,並利用許多實用功能。
JSON 已成為許多領域 (包括 Web 開發、資料交換、組態管理和資料傳輸) 之簡單、多功能且無所不在的資料格式。JSON 廣受最熱門的程式設計語言採用和支援,從而鞏固在現代化資料交換和通訊的基石地位。
Oracle Autonomous JSON Database 是一種文件資料庫雲端服務,可簡化開發 JSON 核心型應用程式的過程。
JSON 是檔案還是程式碼?
JSON 既不是檔案,也不是程式碼,而是用來儲存和傳輸資料的簡單格式。這是純文字格式,可讓您在不同的程式設計語言之間輕鬆進行資料交換。JSON 經常用來在 Web 應用程式與伺服器之間傳送資料。
JSON 是程式設計語言嗎?
JSON 不是程式設計語言,而是輕量型資料交換格式。雖然是從 JavaScript 衍生而來,但 JSON 本身並不像真實程式設計語言支援函式。JSON 僅用於在伺服器與 Web 應用程式之間或不同系統之間儲存和傳輸資料。
JSON 是否優於 XML?
雖然開發人員都會使用 JSON 和 XML 在系統之間儲存和傳輸資料,但通常會在不同的情況下使用。XML (延伸標記語言) 是一般用途標記語言,可讓您建立複雜的階層式資料結構,而 JSON 輕量且精簡的性質,使其成為透過網路傳輸資料的更佳選擇,尤其是在頻寬有限或資料傳輸速度很重要的應用程式中。