跳到主要內容
Tools

JSON ↔ CSV

JSON 與 CSV 雙向轉換,可展開巢狀物件、自動偵測分隔符號,並加上 BOM 讓 Excel 正確顯示中文。

陣列
換行符號

0 個字元 · 1 行

拖放檔案到這裡,或

.json、.csv、.tsv、.txt(UTF-8 或 Big5)

檔案不會上傳。

使用說明

  1. 選擇轉換方向:「JSON → CSV」或「CSV → JSON」。
  2. 貼上內容、把檔案拖放到下方,或按「範例」看看效果,結果會即時顯示;有語法錯誤時,會標出行號與欄位。
  3. 轉成 CSV 時,可選擇分隔符號、是否展開巢狀物件,以及陣列要寫成 JSON 文字或分成多欄。
  4. 轉成 JSON 時,可選擇第一列是否為欄位名稱,以及是否把數字、true/false 與 null 轉成對應的型別。
  5. 按「複製」或「下載」取得結果。

常見問題

我的資料會被上傳嗎?

不會。轉換在你的瀏覽器中完成,拖放的檔案也只在本機讀取,不會上傳到任何伺服器。

用 Excel 開啟下載的 CSV,中文變成亂碼怎麼辦?

Windows 版 Excel 在沒有提示時,會用系統預設編碼(繁體中文環境是 Big5)讀取 CSV,UTF-8 的中文就會變成亂碼。勾選「下載時加上 BOM」後,檔案開頭會多一個 UTF-8 的標記(BOM),Excel 看到就會改用 UTF-8 讀取。Google 試算表、Numbers 與多數程式都能正確處理 BOM;若要給不認得 BOM 的程式使用,可以取消勾選。「複製」的內容一律不含 BOM。

巢狀物件和陣列怎麼轉成欄位?

勾選「展開巢狀物件」時,{"user": {"name": "A"}} 會變成 user.name 欄。陣列預設寫成 JSON 文字(例如 ["a","b"]),讀回 JSON 時容易還原;也可以選擇分成多欄(tags.0、tags.1)。所有資料列的欄位會合併成同一個標題列,缺少的欄位留空。

為什麼 CSV 轉 JSON 預設不轉換數字?

CSV 本身沒有型別,每個欄位都是文字。電話號碼 0912345678、郵遞區號 007 或很長的編號,一旦當成數字就會失去開頭的 0 或精確度。所以預設全部保留成字串;勾選「轉換數字、true/false 與 null」後,只有寫法完全符合 JSON 數字的值才會轉成數字(007 仍是字串),空白欄位會變成 null。

分隔符號怎麼選?歐洲版 Excel 用分號?

CSV 轉 JSON 預設會自動偵測逗號、分號、Tab 或直線(|)。部分歐洲語系的 Excel 以逗號當小數點,因此 CSV 改用分號分隔;需要給這類 Excel 開啟時,轉成 CSV 請選擇分號。選擇 Tab 時會下載成 .tsv 檔案。

欄位內有逗號、引號或換行怎麼辦?

本工具依照 RFC 4180 處理:含有分隔符號、雙引號或換行的欄位會用雙引號包起來,欄位內的雙引號寫成兩個("")。讀取 CSV 時若引號沒有結束,會標出出錯的位置。

鍵盤快捷鍵

/
搜尋工具(在工具頁會回到首頁的搜尋欄)
?
顯示這個說明
Esc
關閉對話框
Ctrl / ⌘Enter
執行工具的主要動作(支援的工具)

在輸入框中打字時,/ 與 ? 不會觸發快捷鍵。