📊
免費JSON 轉 CSV 轉換器
將 JSON 陣列轉為 CSV,或將 CSV 轉回 JSON。自動處理巢狀值、帶引號的欄位和值中的逗號。
載入後可離線使用
JSON 輸入(物件陣列)
CSV 輸出
輸出將顯示在此處…
工作原理
此工具完全在你的瀏覽器中進行 JSON 與 CSV 之間的轉換,不使用任何外部庫——轉換邏輯是在本地執行的手寫 TypeScript。JSON 解析使用瀏覽器原生的 JSON.parse,CSV 解析使用自定義的 RFC 4180 狀態機,能處理大多數簡單轉換器出錯的邊界情況。
- 1解析 JSON 並收集表頭JSON.parse() 讀取輸入並驗證它是一個陣列。然後轉換器遍歷陣列中的每個物件,建立所有鍵的並集——因此即使不同行有不同欄位的稀疏陣列,也能產生完整的表頭行。
- 2可選的巢狀物件展平如果開啟展平選項,{"address":{"city":"Oslo"}} 這樣的巢狀物件會在建立表頭前遞迴摺疊為點號表示的列(address.city)。陣列和空物件保留為 JSON 字串形式的單元格值。
- 3符合 RFC 4180 的單元格編碼與公式中和每個單元格值都按 RFC 4180 跳脫:包含逗號、雙引號或換行的欄位用雙引號包裹,內部引號加倍。安全匯出模式(預設開啟)還會在以 =、+、- 或 @ 開頭的單元格前加一個單引號,防止 Excel 或 Google Sheets 等試算表應用將注入的值當作可執行公式。
- 4CSV 轉 JSON 使用字元級狀態機反向轉換時,共享的 parseCsv 函式逐字元遍歷輸入,追蹤是否處於引號欄位內,從而正確處理單元格中嵌入的逗號、跳脫雙引號("")和換行——簡單按行拆分的方法會處理錯這些情況。detectDelimiter 會嗅探第一行中的逗號、分號、製表符或豎線,自動支援非標準匯出。