JSON ↔ CSV 互轉
JSON ↔ CSV 互轉
CSV/TSV 與 JSON 雙向轉換,支援分隔符自動辨識、首行表頭對映、欄位去空白與空行跳過。適用於資料匯入匯出、表格處理與 API 資料準備。
🚀 快速開始
- 在右側 CSV 編輯器中貼上或輸入 CSV/TSV 數據,左側 JSON 會自動同步
- 也可以在左側 JSON 編輯器中輸入 JSON,右側 CSV 同樣會自動同步
- 分隔符號預設為「自動」,工具會根據首行內容自動判斷使用的是逗號、Tab、分號或垂直線
- 開啟「使用表頭(首行)」後,CSV 首行會被當作 JSON 物件的鍵名;關閉後會轉為二維陣列。
- 「移除欄位首尾空格」和「跳過空行」開關可清理不規範的 CSV 數據
- 每個編輯器可單獨下載:JSON 側下載 .json 檔案,CSV 側根據當前分隔符號下載 .csv 或 .tsv 檔案
📌 常見使用情境
- Excel 匯出轉 JSON:從 Excel 複製資料貼上到 CSV 側(Tab 分隔),自動轉為 JSON 物件數組
- API 回應轉表格:將 JSON 格式的 API 回應轉為 CSV,匯入 Excel 或 Google Sheets 分析
- 資料庫匯入準備:將 CSV 資料轉為 JSON 格式,方便透過 API 批次匯入資料庫
- 日誌分析:將 CSV 格式的日誌轉為 JSON,方便用 jq 等工具結構化查詢
- 配置遷移:在 CSV 格式的配置映射表與 JSON 設定檔之間轉換
- 資料清洗:利用「去空格」和「跳過空白行」快速清理從外部系統匯出的髒數據
🧭 使用建議
- 從 Excel 複製貼上的資料通常以 Tab 分隔,工具的自動偵測可以正確識別;如果誤判,可手動選擇分隔符
- 開啟「使用表頭(首行)」時,首行不會被當作資料列;如果 CSV 沒有表頭,請關閉此選項以避免遺失第一列資料。
- 若 CSV 表頭中存在重複列名,工具會自動新增後綴(如 name、name_2)以確保 JSON 鍵名唯一
- JSON → CSV 轉換適用於扁平的物件陣列;巢狀物件或陣列會被序列化為 JSON 字串作為欄位值
- CSV 欄位包含分隔符號、換行或雙引號時,工具會自動以雙引號包裹並正確轉義
⚠️ 限制與相容性
- CSV 是扁平的表格格式,無法原生表達嵌套結構;嵌套的 JSON 物件/陣列會被序列化為字串,反向轉換無法還原
- CSV 中所有值都是字串;數字、布林值等型別資訊在 JSON → CSV → JSON 往返後可能變成字串
- 工具自動移除 UTF-8 BOM(\uFEFF),但不支援其他編碼(如 GBK/Shift-JIS),需先轉換為 UTF-8
- 與 JSON 共享 JavaScript IEEE 754 浮點數精度限制,超過 53 位元的大整數可能會遺失精度
🔒 隱私與安全
- 所有處理均在您的瀏覽器內完成,資料不會離開您的設備
❓ 常見問題
什麼是 CSV?它和 TSV/Excel 有什麼關係?
CSV(Comma-Separated Values,逗號分隔值)是一種純文字表格格式,每行是一筆記錄,欄位之間用逗號分隔。 TSV 是 Tab 分隔的變體。 Excel 可以開啟和匯出這兩種格式,但 Excel 本身的 .xlsx 是二進位格式。本工具處理的是純文字 CSV/TSV,不是 .xlsx 檔案。 歷史上 CSV 沒有統一標準,直到 2005 年 RFC 4180 才規範了基本格式:欄位用逗號分隔、雙引號包裹含特殊字元的欄位、雙引號內的雙引號用兩個雙引號轉義。不同軟體對 CSV 的處理仍有細微差異,這也是許多人在匯入匯出時遇到問題的原因。
分隔符號「自動」識別的原理是什麼?會不會誤判?
工具會讀取 CSV 首行,分別統計逗號、Tab、分號與垂直線(|)在引號外出現的次數,並選擇次數最多者作為分隔符號。對絕大多數規範的 CSV/TSV 資料而言,此自動辨識是準確的。可能誤判的情況包括:只有一欄資料(沒有分隔符號)或欄位內容本身大量包含某種分隔符號字元。遇到誤判時請手動指定分隔符號。
開啟「使用表頭(首行)」和關閉有什麼不同?
開啟時,CSV 首行會被視為欄名,每筆資料會轉為以欄名為鍵的 JSON 物件(如 {"name": "Alice", "age": "30"})。關閉時,所有行(含首行)都會被視為資料,轉為二維陣列(如 [["name", "age"], ["Alice", "30"]])。反向轉換時,開啟表頭會在 CSV 首行輸出 JSON 物件的鍵名。
JSON 中有巢狀對象,轉為 CSV 後還能轉回來嗎?
不能完全還原。 JSON → CSV 時,巢狀的物件或陣列會被 JSON.stringify 序列化為字串放入儲存格。 CSV → JSON 時,這些欄位會保持為字串,不會自動反序列化為物件。如果需要處理巢狀結構,建議先將 JSON 展平再轉換。
從 Excel 複製貼上的資料能直接轉換嗎?
可以。從 Excel 複製儲存格區域,貼上到 CSV 編輯器後,資料會以 Tab 分隔。工具的自動分隔符號偵測會正確識別為 TSV 並轉換。如果要下載結果為 CSV 檔案(逗號分隔),請將分隔符號手動切換為逗號即可。
CSV 欄位中的引號和換行怎麼處理?
遵循 RFC 4180 規範:當欄位內容包含分隔符號、換行符或雙引號時,整個欄位會以雙引號包裹;欄位內的雙引號會以兩個連續雙引號("")轉義。工具在輸入解析與輸出生成時都遵循此規則。若引號未正確閉合,會提示「CSV 引號未閉合」錯誤。