AI 科技資訊人工智慧的新知入口
首頁 / JSON 是什麼?現代網路世界最通用的「輕量級資料交換格式」

JSON 是什麼?現代網路世界最通用的「輕量級資料交換格式」

用最白話的方式為您拆解 JSON 的定義、資料結構與語法規則,並介紹它在網頁開發、API 傳輸與系統設定檔中的廣泛應用。

本文導覽
  1. 一句話重點
  2. 它解決什麼問題?
  3. 核心特色與資料結構
  4. JSON 語法格式範例
  5. JSON 在日常生活中的常見應用
  6. 它和類似格式有什麼不同?
  7. 非工程背景的人需要知道什麼?
  8. 如何開始使用 JSON?
  9. 我們的觀察
  10. 來源

在網際網路的世界裡,每分每秒都有龐大的資料在伺服器與使用者的手機、電腦之間傳遞。當您在天氣 App 上查閱氣溫、在社交平台上重新整理動態,或是輸入帳號密碼登入網站時,系統背後都必須將您的個人資料、照片網址或氣象觀測值,轉化為一種標準的格式進行傳輸。

而這個格式的當今霸主,就是 JSON(JavaScript Object Notation,JavaScript 物件標記法)。它就像是數位世界裡的「標準貨櫃」,將各式各樣的軟體資料整齊、安全地打包,讓不同的系統可以輕鬆裝載與卸載。

想像一下寄快遞:你要寄出一堆玩具、書本和衣服給朋友,你不會散著寄,而是會拿一個格子分明的收納箱,把玩具貼上「品名:玩具車」、書本貼上「書名:小王子」的標籤。JSON 就是那個格式整齊、貼滿標籤的收納箱。

一句話重點

JSON 是一種輕量級、易於人類閱讀與撰寫、同時也易於機器解析和產生的純文字資料交換格式。


它解決什麼問題?

在 JSON 出現之前,網路資料傳輸面臨了幾項嚴峻的挑戰:

  1. 傳輸格式過於臃腫:早期最流行的資料傳輸格式是 XML。雖然 XML 功能強大,但它包含了大量的標籤字元(例如 <user><name>張三</name><age>25</age></user>),導致檔案體積過大,在網路傳輸中佔用了過多的頻寬與流量。
  2. 解析難度高:XML 的解析程式碼繁瑣,在前端瀏覽器中使用 JavaScript 讀取時,需要寫長長的節點查詢程式,容易影響載入效能。
  3. 平台相容性差:不同程式語言之間,各自有一套複雜的物件與資料結構。如果沒有一個極簡且中立的純文字標準,跨語言(例如 Python 傳給 Java)的對接會變得極其繁瑣。

JSON 的出現,以最直覺的「鍵值對(Key-Value Pair)」格式與純文字屬性,徹底解決了上述痛點,迅速取代 XML 成為現代 Web 技術的黃金標準。


核心特色與資料結構

1. 易於閱讀的鍵值對 (Key-Value)

JSON 的基本結構是將一項屬性的「名稱」與其對應的「數值」配對。例如 "name": "tainan"。這種直覺的書寫方式,讓不具備深厚技術背景的人也能一眼看懂資料內容。

2. 獨立於語言的純文字格式

雖然 JSON 名稱中帶有 JavaScript,但它是一種「純文字格式」,完全獨立於任何程式語言。不論是後端的 Python、PHP、Go 還是資料庫端的 SQL,都內建了對 JSON 進行編碼與解碼的工具。

3. 支援多種基本資料型態

JSON 支援常見的資料格式:

  • 字串 (String):必須用雙引號包覆,例如 "Hatsune Miku"。
  • 數字 (Number):例如 39 或 3.14。
  • 布林值 (Boolean):true 或 false。
  • 空值:null。
  • 陣列 (Array):用中括號包覆的列表,例如 ["AI 代理人", "開發工具"]。
  • 物件 (Object):用大括號包覆的鍵值對集合,例如 {"city": "台南", "zip": 700}。

JSON 語法格式範例

以下是一個完整的 JSON 資料檔案範例,描述了一位使用者的資訊:

{
  "userId": 1039,
  "userName": "tainan_outlook",
  "isActive": true,
  "profile": {
    "displayName": "AI 科技觀察家",
    "themePreference": "miku-neon-cyan"
  },
  "interests": ["生成式 AI", "開發工具", "基礎架構"],
  "lastLoginLocation": null
}

JSON 在日常生活中的常見應用

JSON 的用途極為廣泛,只要涉及資料交換的場景,幾乎都能看到它的身影:

  • Web API 的傳輸格式:當前 95% 以上的 Web API(如 OpenAI API、氣象局 API)都採用 JSON 來接收您的請求,並回傳資料。
  • 軟體與專案的設定檔:在網頁開發中,專案的相依性套件與設定檔幾乎都採用 JSON。例如 Node.js 專案的 package.json、PHP 專案的 composer.json,以及各種開發工具(如 VS Code)的系統設定。
  • NoSQL 資料庫儲存:現代的新型資料庫(例如 MongoDB、CouchDB)捨棄了傳統關聯式資料庫的行列儲存方式,直接使用一種類似 JSON 的文件格式(BSON)來儲存資料,使大數據查詢更具彈性。
  • 瀏覽器本地端儲存 (LocalStorage):當您在網站上切換深色/淺色模式,或是在購物車暫存商品時,瀏覽器通常會將這些偏好設定轉換為 JSON 字串,儲存在您本機的電腦中。

它和類似格式有什麼不同?

除了 JSON 之外,我們也會在軟體開發中遇到 XML 和 YAML。它們的對比如下:

比較項目 XML (經典標準) JSON (現代黃金標準) YAML (人眼閱讀最友善)
語法語氣 使用標籤 <user> 使用大括號 {} 使用縮排與連字號 -
可讀性 較差,視覺干擾字元多 良好,結構清晰 極佳,最接近純文字
檔案體積 最大,重複標籤多 輕量,傳輸速度快 輕量,但縮排規則較嚴格
主要用途 舊式企業系統、文檔結構定義 API 傳輸、Web 應用、簡易設定檔 軟體佈署設定檔 (如 Docker, CI/CD)
機器解析速度 較慢,需進行複雜 DOM 解析 極快,多數瀏覽器原生支援 偏慢,解析引擎較複雜

非工程背景的人需要知道什麼?

對於商務決策或專案管理人員,了解 JSON 有助於消弭與技術團隊溝通的隔閡:

  • 「JSON 格式錯誤」是什麼意思?:當系統回報此錯誤時,通常代表資料輸入時漏掉了逗號 ,、引號 " 或是大括號 {} 沒有成對閉合。這就像是信封上的郵遞區號格式寫錯,導致郵差(瀏覽器)無法正確投遞。
  • 利於跨系統整合:由於 JSON 是跨平台的國際技術標準,任何系統只要宣稱支援 JSON 讀寫,就代表它能輕易地與您現有的軟體系統(例如 CRM、ERP 或是 AI 代理人)進行資料串接,不會被特定單一廠商鎖定。

如何開始使用 JSON?

在大多數程式語言中,處理 JSON 只需一兩行指令。

以前端 JavaScript 為例,我們常需要進行兩種轉換:

  1. 將 JSON 文字轉為物件 (Parsing):
    const jsonString = '{"name": "初音未來", "age": 16}';
    const user = JSON.parse(jsonString);
    console.log(user.name); // 輸出:初音未來
    
  2. 將物件轉為 JSON 文字 (Stringifying):
    const configObj = { theme: 'dark', autoSave: true };
    const outputString = JSON.stringify(configObj);
    console.log(outputString); // 輸出:{"theme":"dark","autoSave":true}
    

我們的觀察

在數位轉型的浪潮中,標準化往往是降低運作摩擦的關鍵。JSON 的成功並非來自於它擁有最複雜強大的功能,相反地,它之所以能吞噬網路世界,正是因為它的「簡單」與「包容性」。從微小的瀏覽器設定到處理海量資料的 AI 分析系統,JSON 作為數位血脈中的通用紅血球,將會繼續在隱形幕後支撐著全球數位生態系的流暢運轉。


來源

  • JSON 官方組織:https://www.json.org/json-zh.html
  • Mozilla 開發者社群 (MDN):https://developer.mozilla.org/zh-TW/docs/Learn/JavaScript/Objects/JSON
  • 查閱日期:2026-06-15