JSON 轉 CSV 轉換器

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

CSV 分隔符
結果

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

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

轉換原理

  • 物件陣列會轉成列和欄;巢狀物件會攤平成點號欄,例如 address.city。
  • 依數據選擇分隔符號——逗號、分號或 Tab。

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

常見問題

JSON 怎麼轉成 CSV?

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

檔案最大能轉多大?

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

何謂 JSON 轉 CSV 轉換器

本頁面工具讓用戶上載(或拖放)一個 JSON 檔案,並將其轉換為 CSV 檔案。用戶可以選擇輸出 CSV 的分隔符(逗號、分號或製表符)、預覽表格內容,然後下載轉換結果。整個處理過程完全在瀏覽器中進行——沒有任何資料上傳至伺服器。這項工具與同系列中其他轉換方向(如 CSV 轉 Excel 或 Excel 轉 JSON)的最大差異在於,它需要將一種層級化、具備型別的資料格式「壓平」成一種扁平的純文字表格。

JSON 支援物件、陣列、數字、布林值及 null,並允許任意巢狀結構;而 CSV 則沒有型別、沒有巢狀、沒有分頁(sheet)。轉換會丟失所有型別資訊、巢狀結構、多重分頁(JSON 本身沒有分頁概念),以及任何格式化設定。為了將巢狀的 JSON 物件塞進 CSV,工具使用「點路徑」(dot‑path)記法來展開鍵名,例如 address.city。陣列中的物件會成為表格列;陣列中的陣列則保留為列。由於 CSV 使用分隔符,值內若包含逗號或換行符,必須加上引號——工具會自動處理,但數字開頭的零可能會被捨棄。

輸入與輸出規格

輸入

  • 單一 JSON 檔案。
  • CSV 分隔符:逗號、分號或製表符。

輸出

  • 一個可供下載的 CSV 檔案。
  • 一個轉換後的表格預覽。
  • 列數及欄數統計。
  • 輸出檔案大小。

所有處理均為用戶端完成,不傳送資料到任何伺服器,這對注重私隱的工作流程尤其重要。

轉換機制:扁平化與型別遺失

巢狀物件展平

當 JSON 是一個物件陣列(例如 [{ "name": "Alice", "address": { "city": "HK", "zip": "999077" } }])時,工具會將巢狀物件展平:address.city 成為一個欄位,address.zip 成為另一個欄位。結果表格的標題行就是這些展平後的點路徑鍵。每一個物件變成一列。

陣列處理

如果 JSON 直接是一個陣列的陣列(例如 [["A","B"], ["C","D"]]),則每個內部陣列變成一列,元素依次對應各欄,不會產生鍵名。 如果陣列中包含混合類型,或結構非矩形(例如某些列多幾個元素),工具仍然會嘗試對應,但多出的欄位可能為空。

型別轉換

所有 JSON 值——數字、布林值、null——在 CSV 中一律變成字串。這意味著轉換後無法保留數字格式,例如 0234 在 CSV 中可能變成 234(因為 JSON 數字不保留前導零)。布林值 truefalse 變成字串 "true""false"null 變成空單元格。CSV 沒有原生支援日期或特殊格式,所有資料都以純文字表示。

CSV 引用規則

工具會自動對值中的逗號、換行符及雙引號進行轉義。例如一個值包含逗號 "a,b",輸出時會加上雙引號變成 "a,b"。如果值本身有雙引號,則用兩個雙引號轉義。這些規則遵循 RFC 4180。

錯誤處理與邊界條件

工具設有多項檢查,確保轉換順利執行:

錯誤訊息 觸發條件
「This JSON is invalid or not table‑shaped.」 JSON 語法無效,或結構不是單一陣列(物件的陣列或陣列的陣列)
「This file is too large. Use a file under ‹max›.」 檔案超過最大允許大小(8 MB)
「This table has more than ‹max› rows.」 資料列數超過上限(10,000 行)
「This table has more than ‹max› columns.」 資料欄數超過上限(200 列)
「Choose a CSV, JSON or XLSX file.」 選擇了不支援的檔案類型
「This conversion is taking too long. Try a smaller file.」 轉換逾時(約 12 秒)

另外,工具只轉換可見的值,不會執行公式或程式碼(JSON 本身不含公式)。

使用場景與實務考慮

典型的用戶是一位開發者或分析師,手上有一個從 API 取得的 JSON 回應檔案(例如 REST API 的輸出),需要將其載入至 Excel、Google Sheets 或資料庫匯入工具。由於這些工具通常接受 CSV 而非 JSON,轉換便成為必經步驟。

私隱優勢:所有處理都在瀏覽器端完成,無需將原始 JSON 上傳到任何第三方伺服器。這對包含個人資料或商業機密的檔案特別重要。

分隔符選擇:逗號是最常用的 CSV 分隔符,但若資料本身包含大量逗號(例如地址中的逗號),則選用分號或製表符可減少轉義需求。許多非英語地區的 Excel 預設使用分號作為欄位分隔符。

常見陷阱

  • 前導零遺失:例如郵政編碼 02139 變成 2139。解決方法是在 JSON 中將其儲存為字串:"02139" 而非 02139
  • 巢狀結構過深:若 JSON 嵌套五層以上,扁平化後的欄位名稱會變得很長(例如 data.results.user.profile.name.first),可能超出某些軟體的欄位長度限制(Excel 最多 255 個字元)。
  • 大型檔案:若 JSON 檔案超過 8 MB,將會被拒絕。表格也限制在 10,000 行和 200 列。如果轉換時間超過約 12 秒,工具會停止轉換。
  • 非表格形狀 JSON:若 JSON 是單一物件、巢狀物件而非陣列,或者陣列元素結構不一致,工具會拒絕轉換並顯示錯誤。

常見問題 FAQ

1. 轉換後,JSON 中的布林值 false 變成空字符串,是正常的嗎? 布林值會變成 "true""false" 字串。null 會變成空單元格。

2. CSV 中的行列順序能否控制? 工具會按照 JSON 物件中鍵的首次出現順序決定欄位順序,不提供排序選項。陣列的陣列則依原始順序。

3. 為什麼只能上載一個 JSON 檔案? 工具設計為一次處理一個檔案。若要合併多個 JSON,請先自行合併為單一陣列再上載。

4. 是否能保留數字型別(如小數點精度)? 不能。所有數字轉為字串。

5. 如果 JSON 非常大,有建議的解決方法? 檔案大小限制為 8 MB。表格也限制在 10,000 行和 200 列。如果轉換時間超過約 12 秒,工具會停止轉換。

6. 能否從陣列內的多個同層級陣列生成多個 CSV 檔案? 此工具只輸出單一 CSV。若需多個表格,請自行拆分輸入檔案。