Toolify

CSV ↔ JSON 轉換器 (RFC 4180 相容)

貼上 CSV 或 JSON。RFC 4180 相容解析,正確處理含逗號引用欄位、轉義引號、含換行的多行值。JSON→CSV 同時支援物件陣列 (鍵作為表頭) 與陣列的陣列。

輸出
[
  {
    "name": "Alice",
    "age": "30",
    "city": "Tokyo"
  },
  {
    "name": "Bob",
    "age": "25",
    "city": "Seoul"
  },
  {
    "name": "Carol",
    "age": "42",
    "city": "Madrid"
  }
]

運作原理

為何 RFC 4180 相容性重要

CSV 看似簡單卻有許多邊界情形: 含逗號的欄位必須加引號; 含引號的欄位需雙引號轉義; 引用欄位可包含換行。粗暴的 split 解析在真實資料上會崩。本工具完全實現 RFC 4180 文法。

粗暴解析也容易在 Excel 區域差異 (歐洲常用分號分隔)、TSV (製表符) 上出問題。本工具下拉框覆蓋四種常見分隔符。

JSON 輸出形狀

物件陣列 (啟用表頭行,預設): 每行變為 {列: 值}。最常見的 JSON 形狀,任何語言都易於消費。

陣列的陣列 (關閉表頭行): 每行變為 [v1, v2, ...]。當列沒有命名或想保持位置結構時有用。

JSON→CSV 時本工具會自動識別形狀。物件: 收集全部行出現的鍵作為表頭。陣列: 直接按行寫出。

常見陷阱

Excel 區域差異: 部分歐洲版 Excel 預設分隔符為分號而非逗號。如果匯入後看起來擠成一列,把分隔符切換為 ;。

BOM (位元組順序標記): 部分 Excel 匯出會在檔案首部加 U+FEFF。本工具透傳; 若下游解析失敗,去掉前 3 位元組。

尾部換行: 以 '\n' 結尾的 CSV 在某些解析器中會多出一空行; 本工具自動過濾空行。

數字保留為字串: CSV 沒有型別 —— '42' 在 JSON 裡是字串 "42"。需要型別化的話,後處理已知數字列。

常見問題

支援含逗號的引用欄位嗎?

完全支援 RFC 4180 引用。"Doe, John" 解析為單一欄位。

轉義引號如何處理?

按 RFC 4180,引用欄位內的字面 '"' 寫成 '""' (雙引號)。解析器正確識別。

欄位可以包含換行嗎?

在引號內可以。"line 1\nline 2" 視為帶嵌入換行的單一欄位。

支援 BOM (UTF-8)?

BOM 直接透傳。如果下游不容忍,去掉 CSV 前 3 位元組 (EF BB BF)。

巨大檔案能處理嗎?

瀏覽器輕鬆處理幾 MB。超大 CSV (100MB+) 推薦用 Papa Parse 流式解析或 CLI 工具。

數字會保留為數字嗎?

CSV → JSON: 全部為字串 (CSV 沒型別)。JSON → CSV: 數字直接寫為不帶引號的單元格。需要型別化 JSON 請後處理已知數字列。

為什麼是空字串而不是 null?

CSV 用空單元格表示缺失。本工具對映為空字串。需要 null 請後處理輸出。

資料會上傳嗎?

不會。轉換在本地完成。

相關工具

最後更新:

看看 AI 提示詞 →