CSV 轉 JSON 完全指南

JSON(更新於 2026年6月1日)

CSV 與 JSON 的結構差異

CSV(逗號分隔值)和 JSON(JavaScript 物件表示法)是兩種最常見的資料格式,但它們的結構有本質區別:

特性 CSV JSON
結構 扁平表格 巢狀樹狀
資料型別 全部為字串 字串、數字、布林、null
巢狀支援 不支援 原生支援
註解 不支援 不支援(JSON5 支援)
適用場景 表格資料、Excel 匯出 API 回應、設定檔

轉換規則詳解

CSV 轉 JSON

CSV 每一行會被轉換為一個 JSON 物件,第一行作為鍵名(header),後續行作為值:

name,age,city
張三,28,台北
李四,32,上海

轉換結果:

[
  { "name": "張三", "age": 28, "city": "台北" },
  { "name": "李四", "age": 32, "city": "上海" }
]

JSON 轉 CSV

JSON 陣列中的每個物件會被展開為 CSV 的一行,物件的鍵名組成 header 行。

使用 JSON↔CSV工具 進行轉換

步驟一:準備資料

確保你的 CSV 檔案格式正確:首行為表頭,每行欄位數一致,包含逗號的欄位用雙引號包裹。

步驟二:選擇轉換方向

開啟 JSON↔CSV工具,選擇「CSV → JSON」或「JSON → CSV」模式。

步驟三:貼上或上傳資料

將資料貼到輸入區域,或直接上傳 .csv / .json 檔案。

步驟四:設定選項

  • 分隔符:預設逗號,也支援製表符(TSV)和分號
  • 是否包含表頭:控制首行是否作為欄位名
  • 巢狀展開:JSON 中巢狀物件的處理方式
  • 數字自動識別:將 "28" 自動轉為 28

步驟五:取得結果

點擊轉換按鈕,結果即時顯示在輸出區域,可一鍵複製或下載。

處理表頭(Headers)

表頭是 CSV 的核心。轉換時需注意:

  • 表頭中的空格和特殊字元會被保留為 JSON 的鍵名
  • 建議使用小寫 + 底線命名(如 user_name),方便後續處理
  • 如果 CSV 沒有表頭,工具會自動產生 col_1, col_2 等預設列名

處理巢狀物件

CSV 本身不支援巢狀,但有些 CSV 會用點號表示層級:

user.name,user.email,order.id
張三,zhang@example.com,1001

使用 JSON↔CSV工具 時,勾選「自動展開巢狀」選項,即可產生:

{
  "user": { "name": "張三", "email": "zhang@example.com" },
  "order": { "id": 1001 }
}

大檔案處理技巧

  • CSV 檔案超過 10MB 時,建議分批轉換
  • 使用串流處理避免記憶體溢位
  • 工具支援最大 50MB 檔案的線上轉換
  • 超大檔案建議先在本機用 Python(pandas)預處理

常見錯誤及解決方案

錯誤 原因 解決方法
欄位數不一致 某行多/少了逗號 檢查引號包裹是否完整
編碼亂碼 檔案非 UTF-8 先用文字編輯器轉碼
JSON 解析失敗 格式不合法 使用 JSON格式化 修復
巢狀展開失敗 鍵名層級不規範 檢查點號分隔是否一致

實用技巧

  1. 轉換後用 JSON格式化 美化輸出
  2. JSONPath 快速驗證轉換結果
  3. Excel 匯出的 CSV 常含 BOM 頭,轉換前需去除
  4. 日期欄位建議統一為 ISO 8601 格式

總結

CSV 與 JSON 的互轉是日常開發中的高頻操作。掌握結構差異和轉換規則,配合 JSON↔CSV工具,可以高效完成資料格式轉換。遇到複雜巢狀或大檔案場景時,參考本文的技巧逐一解決即可。

#CSV#JSON#数据转换#表格#开发