LibraTool logoLibraTool

免費JSON 轉 CSV 轉換器

將 JSON 陣列轉為 CSV,或將 CSV 轉回 JSON。自動處理巢狀值、帶引號的欄位和值中的逗號。

載入後可離線使用
JSON 輸入(物件陣列)
CSV 輸出
輸出將顯示在此處…

工作原理

此工具完全在你的瀏覽器中進行 JSON 與 CSV 之間的轉換,不使用任何外部庫——轉換邏輯是在本地執行的手寫 TypeScript。JSON 解析使用瀏覽器原生的 JSON.parse,CSV 解析使用自定義的 RFC 4180 狀態機,能處理大多數簡單轉換器出錯的邊界情況。

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

相關工具

常見問題