CSV 轉 JSON 轉換器

線上把 CSV 轉成 JSON:免費、即時、私密。檔案在你的瀏覽器裡處理,不上傳伺服器。

CSV 分隔符
結果

轉換後的檔案和預覽會顯示在這裡。

已準備好。選擇一個表格檔開始轉換。

轉換原理

  • 第一列會作為標題列,其儲存格成為 JSON 的欄位名,之後每一列對應一個物件。
  • 依資料選擇分隔符號——逗號、分號或 Tab。

表格檔會在你的瀏覽器本機轉換,不會上傳到 BroBroGo。

常見問題

CSV 怎麼轉成 JSON?

拖入 CSV 檔案,點擊轉換,幾秒就能下載 JSON 檔案,還附結果預覽,全程在本機完成。

檔案最大能轉多大?

單個檔案最多 8 MB、10,000 列、200 欄。資料更大時,建議先拆成小檔案。

CSV 轉 JSON 的核心差異:為什麼不是單純格式互換

CSV(逗號分隔值)與 JSON(JavaScript 物件表示法)雖然都是常見的資料交換格式,但它們的結構與型別系統有根本不同。將 CSV 轉為 JSON 時,有幾個在站上其他轉換頁面(例如 JSON 轉 CSV、Excel 轉 CSV)不會碰到的特殊限制,需要特別留意。

型別文字化:CSV 儲存的所有內容都是純文字,沒有數字、布林值、null 或巢狀結構的概念。因此轉出的 JSON 中,每一個欄位值都會維持為字串。例如一列價格 "299" 在 JSON 中會是 "299" 而非數字 299;郵遞區號 "100" 會保留前導零,因為它原本就是文字。如果你期望 JSON 裡出現數字或日期型別,必須在轉換後手動處理——這個工具不會自動推斷型別。

無法建立巢狀結構:CSV 的本質是平坦的表格,每一列對應一個物件,每一個欄位對應一個鍵值。轉換結果必定是「陣列(array)中的物件(object)」,所有物件擁有相同的鍵。你不能從 CSV 直接產生物件內嵌物件(例如 {"address": {"city": "台北"}})的結構,除非你後續再加工。(反向的 JSON 轉 CSV 則需要把巢狀欄位攤平,情況更複雜。)

分隔符號的選擇:CSV 中的「C」並不總是逗號——實務上常見的還有分號(;)與定位字元(Tab)。工具會要求你指定正確的分隔符號。選錯會導致整份資料解析錯誤。相較之下,JSON 或 Excel 的輸入頁面不需要這個步驟。

內嵌逗號與換行的脆弱性:CSV 的引用規則(用雙引號括住含逗號或換行的欄位)並未被所有程式或人員一致遵守。當欄位內有逗號或換行時,若沒有正確引用,整份 CSV 可能無法被正確解析,或者產生錯位的欄位。這是 CSV 轉 JSON 比其他格式轉換更容易出錯的原因之一。

輸入與輸出的具體流程

這個工具接受單一 CSV 檔案作為主要輸入,但也支援 JSON 與 XLSX 格式——工具會先將它們解讀為表格,再轉成目標格式。但本頁的核心情境是 CSV → JSON。

使用者需要設定的部分

  1. 上傳檔案(拖曳或選取)
  2. 將輸出格式設為「JSON」
  3. 若輸入是 CSV,選擇正確的分隔符號:逗號、分號或 Tab

輸出內容

  • 一個 JSON 檔案,內容為陣列包含多個物件,每個物件的鍵對應 CSV 的第一列(表頭)。
  • 預覽區域會顯示轉換後的表格資料。
  • 工具會顯示表格的列數與行數,以及輸出檔案的大小。

型別處理的實際影響:前導零、數字與日期

因為所有 CSV 欄位都以純文字形式保留,所以下列常見情境會獲得你期望的結果,但也隱藏了潛在風險:

資料類型 CSV 原始內容 JSON 輸出 注意事項
前導零字串 "0100" "0100" 保留前導零。但如果後續用自動型別轉換的 JSON 解析器(例如 JSON.parse 後再處理),可能被轉為數字而遺失零。
數字 "299" "299" 仍是字串,不是數字。若需要數字型別,需手動轉換。
日期 "2024-12-25" "2024-12-25" 字串。不會自動變成 Date 物件。
空值 "" "" 空字串,不是 null。若希望輸出 null 需後處理。
引號內換行 "第一行\n第二行" "第一行\n第二行" 換行會保留為跳脫字元 \n

這個行為對保留地址、產品代碼、電話號碼等含有前導零的資料非常友善。但若你原本預期 JSON 中的數字欄位可以直接運算,就必須在轉換後另行轉型。

CSV 的常見陷阱與工具的錯誤訊息

CSV 的格式問題層出不窮,工具直接顯示明確的錯誤原因,幫助你除錯。以下是所有可能出現的錯誤訊息(根據功能規格書):

"This CSV could not be parsed."
當 CSV 無法被解析,可能是引用錯誤、欄位數不一致、或使用了錯誤的分隔符號。

"This file has no table rows."
檔案中沒有任何資料列(只有表頭或空白)。

"This table has more than ‹max› rows."
超出最大列數限制。

"This table has more than ‹max› columns."
超出最大行數限制。

"This file is too large. Use a file under ‹max›."
檔案大小超過上限。

"Choose one file first."
未選擇任何檔案就點擊轉換。

"Choose a CSV, JSON or XLSX file."
上傳的檔案類型不在支援清單內。

"This conversion is taking too long. Try a smaller file."
轉換逾時,通常因檔案過大或瀏覽器效能不足。

這些錯誤訊息會直接在工具頁面上顯示,協助你快速定位問題。

誰會需要這個轉換

下列使用場景特別適合利用這個工具:

  • 開發者:從資料庫或試算表匯出 CSV 後,需要餵給 JavaScript 前後端 API,而這些 API 通常要求 JSON 格式。工具在瀏覽器端完成轉換,不須安裝套件。
  • 資料分析師:處理繼承的 CSV 地址檔案,其中包含前導零(例如郵遞區號 "020"),一般試算軟體開啟後可能自動截掉零,而透過這個工具轉成 JSON 可以原樣保留。
  • 團隊協作橋樑:非技術成員習慣用 Excel/CSV 維護產品清單、聯絡人資料或記錄檔;技術端則需要 JSON 格式。雙方不必把敏感資料上傳到任何伺服器,所有處理都在瀏覽器內完成。
  • 學生或研究者:需要將一次性取得的 CSV 資料轉為結構化格式,作為程式作業或研究分析的輸入。

由於轉換完全在用戶端進行(不上傳檔案至伺服器),對於含有個人資料或商業機密的 CSV 檔案,可以提供較高的隱私保護。

CSV 格式基礎與 JSON 表格結構

為了正確使用工具,你需要理解 CSV 與 JSON 在資料表示上的基本約定。

CSV 格式要點

  • 分隔符號:最常見是逗號(,),但分號(;)在部分歐洲語系地區更常用,因為逗號是數字的小數點;定位字元(Tab)則常用於匯出。
  • 引用規則:當欄位內容包含分隔符號、換行或雙引號時,整個欄位必須用雙引號包裹,內部的雙引號則以兩個連續雙引號表示。例如:"他說:""你好""",台北
  • 型別缺失:CSV 沒有任何型別標記。所有值都是字串,甚至數字 123 也是文字,直到接收端自行解讀。

JSON 表格結構

轉換後的 JSON 會採用「陣列包含物件」的形式,每個物件對應 CSV 的一列,物件的鍵來自 CSV 的第一列(表頭)。例如:

[
  { "姓名": "王小明", "年齡": "30", "城市": "台北" },
  { "姓名": "李小花", "年齡": "25", "城市": "台中" }
]

注意「年齡」的值是字串 "30" 而非數字。這就是型別文字化的具體展現。

常見問答(FAQ)

Q: 轉換後前導零會消失嗎?
A: 不會。工具將所有 CSV 欄位視為字串,所以 "00123" 會變成 JSON 中的 "00123"。但若你之後將這個 JSON 載入會自動型別轉換的環境(例如 JavaScript 的 JSON.parse 配合某些函式庫),前導零可能被當成數字而消失。

Q: CSV 裡有包含換行的欄位,轉換後能保留嗎?
A: 可以,只要該欄位在 CSV 中有正確用雙引號包裹,換行會保留為 JSON 字串中的 \n 跳脫序列。

Q: 可以將 CSV 轉成巢狀結構的 JSON 嗎?例如 { "address": { "city": "..." } }
A: 不能。CSV 是平坦表格,工具只會輸出平坦的物件陣列。如果需要巢狀結構,必須在轉換後另行處理或使用其他工具。

Q: 支援多大的 CSV 檔案?
A: 工具設有檔案大小上限以及行列數上限,超過時會顯示對應的錯誤訊息(例如 "This file is too large.")。實際上限值依工具版本與瀏覽器記憶體而定,建議上傳前先確認。

Q: 分隔符號選錯了會怎麼樣?
A: 工具會嘗試解析,但很可能導致欄位錯位或解析失敗,並顯示錯誤訊息 "This CSV could not be parsed." 請檢查資料中實際使用的分隔符號(逗號、分號或 Tab),並重新選擇。

Q: 轉換過程中資料會上傳到伺服器嗎?
A: 不會。所有轉換作業完全在瀏覽器內執行,檔案不會離開你的裝置。這對處理機密資料(如客戶清單、員工資料)特別有保障。