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 請後處理輸出。
›資料會上傳嗎?
不會。轉換在本地完成。
相關工具
最後更新: