功能簡介
這個轉換器可以把 CSV(逗號分隔值)轉成 JSON,也能把 JSON 轉回 CSV。試算表、資料庫和分析工具匯出的是 CSV;API、JavaScript 程式碼和設定檔需要的則是 JSON。貼上任一種格式,另一種格式就會立刻出現。
解析器遵循 CSV 標準 RFC 4180:欄位可以用雙引號包起來,引號欄位中的引號寫成兩個(""),引號欄位裡也可以包含逗號和換行。Windows(CRLF)和 Unix(LF)換行都能處理,Excel 匯出時帶的 UTF-8 位元組順序標記(BOM)也會自動移除。
使用方法
- 把 CSV 貼到 輸入 框,或把
.csv、.tsv檔案拖進去,也可以點 範例。 - 分隔符號 保持「自動偵測」,或選擇逗號、分號(歐洲版 Excel 匯出常見)、Tab 或直線。
- 開啟 第一列是標題列 時,會得到以欄名為鍵的物件陣列;關閉後會得到陣列的陣列。
- 偵測數字與布林值 會把
42變成數字、true變成布林值。關閉後每個儲存格都保留為文字。 - 把 方向 切換成 JSON → CSV 即可反向轉換。複製或下載結果。
JSON 轉 CSV 時,輸入應該是物件陣列。欄位是所有鍵的聯集,依第一次出現的順序排列,缺少某些欄位的列只會得到空白儲存格。含有分隔符號、引號或換行的儲存格會自動加上引號。
範例
id,name,active
1,Ada Lovelace,true
2,"Turing, Alan",false
會變成
[
{ "id": 1, "name": "Ada Lovelace", "active": true },
{ "id": 2, "name": "Turing, Alan", "active": false }
]
處理不規範的檔案
空白的標題儲存格會命名為 column1、column2 等,重複的名稱會加上後綴,例如 name_2,因此不會有任何值被覆蓋。比標題列短的列會用空字串補齊;多出來的儲存格會取得自己的欄名。如果某個引號欄位一直沒有關閉,錯誤訊息會告訴你它開始的確切行號和欄號。
常見問題
› 我的 CSV 會被上傳到伺服器嗎?
不會。解析和轉換完全在你的瀏覽器中執行,含有客戶或商業資料的檔案絕不會離開你的裝置。
› 分隔符號是怎麼偵測的?
在「自動偵測」模式下,工具會計算第一行中逗號、分號、Tab 和直線出現的次數(引號內的不算),並採用出現最多的那一個。如果猜錯了,請自行選擇分隔符號。
› 為什麼很長的數字會保留成字串?
JavaScript 的數字超過 15 到 16 位就會失去精確度,所以 ID、電話號碼或卡號這類長整數會保留為字串。像 007 這種有前導零的值也會保留為文字。
› JSON 轉 CSV 時,巢狀物件會怎麼處理?
巢狀物件和陣列會以精簡 JSON 的形式寫進同一個儲存格,資料不會遺失,之後也能再解析回來。