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

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

在網際網路的世界裡,每分每秒都有龐大的資料在伺服器與使用者的手機、電腦之間傳遞。當您在天氣 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):例如 393.14
  • 布林值 (Boolean)truefalse
  • 空值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