CSV 轉 JSON 轉換器
簡介
CSV 轉 JSON 轉換器彌合了試算表樣式資料與結構化 JSON 之間的差距。無論您是將資料從 Excel 匯入 Web 應用程式、準備資料庫匯出的 API 負載,還是轉換設定檔,該工具都能精確靈活地處理轉換。
與需要安裝的命令列工具或將資料上傳到伺服器的線上服務不同,Toollect CSV 轉 JSON 轉換器完全在您的瀏覽器中執行。每次按鍵都會即時更新 JSON 輸出,為您提供即時反饋。無需透過網路傳輸資料,兼顧速度和隱私。
憑藉智慧型分隔符偵測、型別推斷、多種輸出格式和即時預覽表,該轉換器能夠處理使 CSV 轉換令人沮喪的邊緣情況:包含逗號的引用欄位、多行值、不一致的列數等。
工作原理
該轉換器透過為準確性和靈活性設計的多階段管道處理您的 CSV 資料。
解析
該工具使用遵循 RFC 4180 約定的自訂解析器逐行讀取您的 CSV 輸入。它正確處理:
- 引用欄位:用雙引號括起來的欄位可以包含分隔符、換行符和其他特殊字元
- 轉義引號:欄位內的雙引號表示為兩個連續的雙引號(
"") - 空欄位:連續的分隔符產生空字串值
- 尾部空格:引號外的空格將被修剪以獲得乾淨輸出
分隔符偵測
在自動偵測模式下,該工具會分析資料的前幾行,測試每個候選分隔符(逗號、製表符、分號),並選擇產生最一致列數的分隔符。您可以隨時手動覆蓋偵測到的分隔符。
型別推斷
啟用型別推斷後,該工具會掃描每個值並轉換識別的模式:
- 數字:整數和小數(
42、3.14、-1.5、1e10)成為 JSON 數字 - 布林值:
true和false(不區分大小寫)成為 JSON 布林值 - Null:
null(不區分大小寫)成為 JSONnull - 字串:其他所有內容保持為字串
您還可以啟用 JSON 值解析,它會嘗試解析看起來像 JSON 物件或陣列的欄位。
輸出格式
最終的 JSON 輸出根據您選擇的選項生成:
- 物件陣列:每行成為一個以表頭行值為鍵的物件(預設)
- 二維陣列:輸出為陣列的陣列,忽略表頭行
- 按第一列鍵控:一個以每個資料行第一列值為鍵的物件
輸出可以格式化(2 或 4 空格縮排)或壓縮為單行。
使用方法
使用 Toollect CSV 轉 JSON 轉換器無需設定或註冊。請按照以下步驟操作:
-
開啟工具 — 導航到 CSV 轉 JSON 轉換器頁面。介面顯示上傳區域、輸入文字區域、設定面板和輸出區域。
-
輸入資料 — 將 CSV 文字直接貼到文字區域,或點擊上傳區域(或拖放 .csv 檔案)載入檔案。
-
檢查設定 — 該工具會自動偵測分隔符,並預設啟用表頭和型別推斷。根據您的資料調整這些設定:
- 如果自動偵測不正確,請選擇不同的分隔符
- 如果資料缺少表頭行,請切換"首行為表頭"
- 停用型別推斷以將所有值保留為字串
-
預覽解析的資料 — 點擊"顯示預覽"查看解析後的 CSV 資料的表格檢視。這有助於驗證分隔符和表頭設定是否正確。
-
檢查 JSON 輸出 — JSON 輸出會在您輸入時自動更新。輸出文字區域是唯讀的,以防止意外編輯。
-
複製或下載 — 點擊"複製"將 JSON 複製到剪貼簿,或點擊"下載 JSON"將其儲存為 .json 檔案。
教程
本教程示範如何將 Excel 匯出的 CSV 檔案轉換為用於 Web 應用程式的 JSON 陣列。
場景:您有一個追蹤產品庫存的 Excel 試算表,希望將其匯入需要 JSON 的 Web 應用程式。
- 從 Excel 匯出 — 將您的試算表儲存為 CSV 檔案。您應該得到類似以下內容:
Product Name, SKU, Price, In Stock, Category
Widget Pro, WDG-001, 29.99, true, Tools
Gadget X, GDG-002, 49.95, false, Electronics
Super Tool, SUP-003, 99.00, true, Tools
Accessory Pack, ACC-004, 14.99, true, Accessories
-
開啟 CSV 轉 JSON 轉換器,將 CSV 檔案拖到上傳區域。該工具載入檔案,偵測逗號分隔符,並立即轉換資料。
-
檢查預覽 — 點擊"顯示預覽"查看表格表示。確認表頭行已正確解析。
-
JSON 輸出 顯示為:
[
{
"Product Name": "Widget Pro",
"SKU": "WDG-001",
"Price": 29.99,
"In Stock": true,
"Category": "Tools"
},
{
"Product Name": "Gadget X",
"SKU": "GDG-002",
"Price": 49.95,
"In Stock": false,
"Category": "Electronics"
},
{
"Product Name": "Super Tool",
"SKU": "SUP-003",
"Price": 99,
"Category": "Tools"
},
{
"Product Name": "Accessory Pack",
"SKU": "ACC-004",
"Price": 14.99,
"In Stock": true,
"Category": "Accessories"
}
]
注意 Price 值是數字(不是字串),In Stock 值是布林值,並且"Super Tool"缺少"In Stock"值被省略。
- 嘗試鍵轉換 — 從鍵大小寫下拉選單中選擇"snake_case"。輸出變為:
[
{
"product_name": "Widget Pro",
"sku": "WDG-001",
"price": 29.99,
"in_stock": true,
"category": "Tools"
}
]
- 嘗試鍵控格式 — 選擇"按第一列鍵控"以取得按產品名稱索引的物件:
{
"Widget Pro": {
"SKU": "WDG-001",
"Price": 29.99,
"In Stock": true,
"Category": "Tools"
},
"Gadget X": { ... }
}
- 下載結果 — 點擊"下載 JSON"將輸出儲存為 .json 檔案,供 Web 應用程式使用。
專業提示
掌握這些技巧,充分利用 Toollect CSV 轉 JSON 轉換器:
-
先使用預覽:在依賴 JSON 輸出之前,始終檢查預覽表。列不匹配、錯誤的分隔符或編碼問題在表格預覽中立即可見
-
處理前導零:郵遞區號、電話號碼和 ID 通常有前導零。停用型別推斷以將它們保留為字串——否則
00123會變成數字123 -
標準化列名:使用鍵大小寫設定將不一致的表頭轉換為統一的格式。對於 API 整合,通常首選 camelCase 或 snake_case
-
先清理 CSV:刪除尾部空行,檢查各行的列數是否一致,並確保引用欄位使用雙引號以獲得最佳效果
-
與其他工具結合:在此處將 CSV 轉換為 JSON,然後使用 JSON 格式化器驗證和檢查結構
替代方案
雖然 Toollect CSV 轉 JSON 轉換器提供了全面的功能集,但針對不同的使用場景也存在多種替代方案。
| 工具/方法 | 最適合 | 限制 |
|---|---|---|
| Toollect CSV 轉 JSON 轉換器 | 基於瀏覽器、隱私優先、可自訂的轉換 | 需要從網路載入初始頁面 |
| PapaParse(JavaScript 函式庫) | 在 Node.js 或瀏覽器應用程式中進行程式化 CSV 解析 | 需要編碼,無圖形介面 |
| csvkit(命令列) | 基於 Python 的 CSV 處理和轉換管道 | 需要安裝 Python,僅命令列 |
| 線上轉換服務 | 快速的一次性轉換 | 資料上傳到伺服器,隱私問題 |
| Excel Power Query | 在 Excel 內進行 CSV 轉 JSON 轉換 | 需要 Excel,限於較小資料集 |
| jq(命令列) | 處理來自 CSV 轉換的 JSON 輸出 | 需要單獨的 CSV 轉 JSON 步驟,僅命令列 |
對於大多數需要快速、私密且功能豐富的 CSV 轉 JSON 轉換而又不想離開瀏覽器的使用者來說,Toollect 轉換器提供了功能性和便利性的最佳平衡。
故障排除
| 問題 | 可能的原因 | 解決方案 |
|---|---|---|
| JSON 顯示"[null]"或空的物件 | 分隔符偵測失敗或選擇了錯誤的分隔符 | 從下拉選單中手動選擇正確的分隔符 |
| 列值遺失/偏移 | 欄位包含無引號的分隔符字元 | 在 CSV 來源中用雙引號括起包含分隔符的欄位 |
| 帶有前導零的數字丟失零 | 型別推斷將它們轉換為數值 | 停用型別推斷以將所有值保留為字串 |
| "第X行有Y列,預期Z列"錯誤 | 各行之間的列數不一致 | 檢查 CSV 中是否有額外/遺失的分隔符;帶換行符的引用欄位可能跨越多行 |
| 預覽顯示亂碼字元 | 檔案編碼不是 UTF-8 | 從試算表應用程式將 CSV 重新匯出為 UTF-8 |
| 大檔案上傳失敗 | 檔案超過 10MB 限制 | 將資料直接貼到文字區域而不是上傳 |
| JSON 輸出為空 | 輸入欄位為空或僅包含空白 | 確保 CSV 資料已正確貼上 |
| 複製按鈕無回應 | 瀏覽器剪貼簿權限 | 檢查瀏覽器設定;使用 Ctrl+C(Cmd+C)作為備用 |
技術規格
效能基準
| 資料大小 | 處理時間 | 記憶體使用 |
|---|---|---|
| 1 KB(10 行) | < 1 ms | < 1 MB |
| 100 KB(1000 行) | < 10 ms | < 5 MB |
| 1 MB(10000 行) | < 100 ms | < 50 MB |
技術細節
- 解析器:自訂 RFC 4180 相容 CSV 解析器,支援完整的引號/轉義處理
- 型別推斷:基於正規表示式偵測數字、布林值、null 值
- 分隔符偵測:對前 10 行進行啟發式評分,測試逗號/製表符/分號
- 輸出引擎:原生
JSON.stringify(),支援可設定縮排 - 檔案處理:
FileReaderAPI,10MB 大小限制 - 剪貼簿:
navigator.clipboard.writeText(),附 2 秒反饋指示器 - 下載:
Blob+URL.createObjectURL()用於記憶體中檔案生成
瀏覽器相容性
| 瀏覽器 | 最低版本 | 狀態 |
|---|---|---|
| Google Chrome | 80+ | 完全支援 |
| Mozilla Firefox | 75+ | 完全支援 |
| Apple Safari | 13+ | 完全支援 |
| Microsoft Edge | 80+ | 完全支援 |
| Samsung Internet | 13+ | 完全支援 |
| Opera | 67+ | 完全支援 |
隱私與安全
- 零資料傳輸:所有 CSV 處理均在瀏覽器記憶體中進行
- 檔案上傳透過 FileReader API 在本地讀取,從不傳輸
- 不使用 cookie、localStorage 或 sessionStorage
- 工具頁面上沒有分析或追蹤腳本
- 無需註冊、登入或 API 金鑰
功能特色
- 即時 CSV 轉 JSON 轉換,即時預覽
- 智慧型分隔符自動偵測,支援手動覆寫
- 數字、布林值和 null 值的型別推斷
- 多種輸出格式:物件陣列、二維陣列和鍵控物件
- 鍵大小寫轉換(camelCase、snake_case、lowercase、UPPERCASE、Capitalize)
- 可摺疊資料預覽,在轉換前驗證您的 CSV