CSV ↔ JSON
實用工具站檢測目前網路

CSV ↔ JSON 轉換

在表格資料與物件陣列之間轉換,保留原始文字

所有內容只在目前瀏覽器處理,不上傳、不儲存,也不寫入網址。

CSV 匯出時,為可能被識別為公式的儲存格加上前導單引號(包含負數與標題列)。這會改變文字;可關閉以按原值匯出。

貼上內容並選擇轉換方向。

最大輸入 1 MiB · 最多 10,000 筆資料記錄(不含標題列)· 最多 100,000 個儲存格 · 輸出上限 4 MiB

轉換規則

CSV 首列為欄位名稱,名稱不可空白或重複,每列欄數須一致。支援引號、雙引號逸出與多列儲存格。所有值轉為字串,保留前導零。

JSON 須為物件陣列;依欄位首次出現的順序合併欄。只接受字串、數字、布林值與 null,缺失值和 null 匯出為空白。CSV 不保留 JSON 型別。 對精度敏感的大整數或小數請使用 JSON 字串。

CSV 與 JSON 互轉,同時保留表格欄位邊界

將匯出的表格轉成 JSON,或把物件陣列整理成 CSV,方便匯入、輕量資料遷移與欄位檢查。轉換前請確認標題列、分隔符號和目標軟體的行為,特別留意前導零、多行儲存格與試算表公式。

先確認標題列與分隔符號

CSV 轉 JSON 時,第一筆記錄會成為欄位名稱;工具支援逗號、分號和定位字元。標題不可空白或重複,每筆資料欄數也必須一致。若多欄看起來合成一欄,先確認試算表是否以分號匯出。

解析器能辨認雙引號包住的逗號、重複雙引號和欄位內換行。輸出的 JSON 儲存格一律是字串,因此 `0012` 在此步仍是 `"0012"`,不會先變成 12;下游系統仍可能依自己的結構另行解讀。

CSV input:
id,name,note
0012,Ada,"Hello, world"
0042,Grace,"Line one
Line two"

JSON output:
[
  {
    "id": "0012",
    "name": "Ada",
    "note": "Hello, world"
  },
  {
    "id": "0042",
    "name": "Grace",
    "note": "Line one\nLine two"
  }
]

匯出 JSON 時將識別碼保留為文字

JSON 轉 CSV 接受物件陣列。標題依欄位在物件中首次出現的順序排列,缺少的欄位輸出為空儲存格。巢狀物件、陣列和非有限數字會報錯,不會被默默攤平成文字,讓你先決定如何轉換。

若 `id` 是帳號、郵遞區號或商品編碼,請在 JSON 中寫成字串,例如 `"0012"`。若它已是數字 `12`,轉換器無法推回兩個前導零。CSV 也沒有通用欄位型別,試算表可能再次自動轉型。

公式保護會改變匯出文字

匯出 CSV 時,公式跳脫預設為開啟。若文字先有空白再以 `= + - @` 開頭,或以定位字元、回車、換行開頭,就會加上單引號,降低被當作試算表公式的機會;標題也套用相同規則,因此儲存格文字會改變。

這能降低開啟不可信 CSV 時的風險,但不能取代試算表的安全設定,各軟體對前置單引號的解讀也不完全相同。只有在必須保留原文且能於可信環境檢查或匯入時,才關閉這項選項。

限制與轉換後的檢查

輸入上限 1 MiB、資料列最多 10,000 筆、儲存格最多 100,000 個,輸出上限 4 MiB。大型表格請分批處理。若欄數或引號錯誤,先檢查分隔符混用、結尾引號缺漏,或某列欄數與標題不一致。

轉換在目前瀏覽器中進行,只轉換結構,不檢查業務意義、日期時區、貨幣精度或資料庫限制。匯入前抽查首尾記錄,以及含逗號、引號或換行的儲存格;後續可用 JSON 格式化或 JSON Lines 工具檢視。