CSV 轉 JSON 轉換器

資料 程式碼 轉換器
上傳或拖曳 .csv 檔案
分隔符

簡介

CSV 轉 JSON 轉換器彌合了試算表樣式資料與結構化 JSON 之間的差距。無論您是將資料從 Excel 匯入 Web 應用程式、準備資料庫匯出的 API 負載,還是轉換設定檔,該工具都能精確靈活地處理轉換。

與需要安裝的命令列工具或將資料上傳到伺服器的線上服務不同,Toollect CSV 轉 JSON 轉換器完全在您的瀏覽器中執行。每次按鍵都會即時更新 JSON 輸出,為您提供即時反饋。無需透過網路傳輸資料,兼顧速度和隱私。

憑藉智慧型分隔符偵測、型別推斷、多種輸出格式和即時預覽表,該轉換器能夠處理使 CSV 轉換令人沮喪的邊緣情況:包含逗號的引用欄位、多行值、不一致的列數等。

使用場景

CSV 轉 JSON 的轉換模式出現在許多實際工作流程中。了解這些場景有助於您識別何時該工具適合您的需求。

資料庫匯出到 API 整合

大多數資料庫系統可以將查詢結果匯出為 CSV。當您需要將這些資料匯入 REST API 或 JavaScript 前端時,轉換為 JSON 是自然的橋樑。將 MySQL 或 PostgreSQL 中的使用者清單、產品或訂單匯出為 CSV,轉換為 JSON,其結構即可與 Web 框架直接相容。

Excel 和 Google Sheets 到 Web 應用程式

試算表資料通常需要遷移到使用 JSON 的 Web 應用程式中。將工作表匯出為 CSV,轉換為 JSON,列標題即可成為適用於 JavaScript、TypeScript 或任何現代框架的屬性名稱。這在從手動試算表管理遷移到專用軟體時很常見。

設定和遷移資料

系統設定、環境變數對映和遷移資料通常以 CSV 格式儲存或交換。轉換為 JSON 後,可以方便地進行驗證、轉換以及與基礎設施即程式碼工具和設定管理系統整合。

ETL 管道和資料處理

萃取-轉換-載入(ETL)管道通常從外部來源的 CSV 檔案開始。在早期階段轉換為 JSON 可以實現結構化處理、模式驗證以及與 JSON 原生工具和資料庫的下游整合。

資料隱私

Toollect CSV 轉 JSON 轉換器在您的瀏覽器中本地處理每一個位元組的資料。沒有任何 CSV 內容會傳輸到任何伺服器、儲存在任何資料庫或記錄在任何系統中。

所有檔案讀取都透過瀏覽器的 FileReader API 完成,該 API 將檔案載入到您裝置的記憶體中。生成的 JSON 輸出將保留在您的瀏覽器中,直到您明確將其複製到剪貼簿或下載為檔案。沒有背景網路請求、工具頁面上沒有分析腳本,轉換器也不使用任何 cookie 或本地儲存。

這種零傳輸架構使該工具適用於敏感資料、內部業務記錄以及任何資料落地或隱私合規性很重要的場景。

工作原理

該轉換器透過為準確性和靈活性設計的多階段管道處理您的 CSV 資料。

解析

該工具使用遵循 RFC 4180 約定的自訂解析器逐行讀取您的 CSV 輸入。它正確處理:

  • 引用欄位:用雙引號括起來的欄位可以包含分隔符、換行符和其他特殊字元
  • 轉義引號:欄位內的雙引號表示為兩個連續的雙引號(""
  • 空欄位:連續的分隔符產生空字串值
  • 尾部空格:引號外的空格將被修剪以獲得乾淨輸出

分隔符偵測

在自動偵測模式下,該工具會分析資料的前幾行,測試每個候選分隔符(逗號、製表符、分號),並選擇產生最一致列數的分隔符。您可以隨時手動覆蓋偵測到的分隔符。

型別推斷

啟用型別推斷後,該工具會掃描每個值並轉換識別的模式:

  • 數字:整數和小數(423.14-1.51e10)成為 JSON 數字
  • 布林值truefalse(不區分大小寫)成為 JSON 布林值
  • Nullnull(不區分大小寫)成為 JSON null
  • 字串:其他所有內容保持為字串

您還可以啟用 JSON 值解析,它會嘗試解析看起來像 JSON 物件或陣列的欄位。

輸出格式

最終的 JSON 輸出根據您選擇的選項生成:

  • 物件陣列:每行成為一個以表頭行值為鍵的物件(預設)
  • 二維陣列:輸出為陣列的陣列,忽略表頭行
  • 按第一列鍵控:一個以每個資料行第一列值為鍵的物件

輸出可以格式化(2 或 4 空格縮排)或壓縮為單行。

輸入格式參考

了解 CSV 格式規則有助於您準備能夠順利轉換而不會出現意外問題的資料。

分隔符選項

分隔符 符號 自動偵測 典型用途
逗號 , 標準 CSV 匯出
製表符 \t TSV 檔案、試算表剪貼簿
分號 ; 歐洲 CSV 地區設定(Excel)
自訂 任意字元 管道符(`

引號規則

CSV 使用雙引號括起包含特殊字元的欄位:

  • 包含分隔符的欄位必須加引號:"王小明, 李小華"
  • 包含換行符的欄位必須加引號:"第1行\n第2行"
  • 包含雙引號的欄位透過重複雙引號來轉義:"""引用文字""" 變為 "引用文字"
  • 未加引號的欄位會去除周圍空格

表頭行

預設情況下,第一行被視為表頭行。每個表頭值成為 JSON 屬性鍵。表頭會被修剪且不能為空。重複的表頭名稱會添加數字後綴(例如 名稱名稱_2)。

編碼

該工具預期 UTF-8 編碼的輸入。帶有 UTF-8 BOM(位元組順序標記)儲存的檔案會透明處理——BOM 在解析期間被移除。其他編碼(Latin-1、Windows-1252)可能會產生亂碼字元;請在轉換前重新編碼為 UTF-8。

CSV 邊界情況展示

實際的 CSV 資料很少符合教科書範例。以下展示了該轉換器如何處理最常見的邊界情況。

引號內的逗號

名稱,描述,價格
Widget Pro,"包含線纜、說明書和收納包",29.99

引號內描述中的逗號被正確處理為值的一部分,而不是列分隔符。JSON 輸出保持完整字串不變。

多行值

ID,備註
001,"該產品需要
兩人組裝。
不包含工具。"

包含換行符的引號值被解析為跨越多行的單個欄位。JSON 輸出將換行符保留為 \n 轉義序列。

列數不一致

名稱,郵箱,電話
Alice,[email protected],555-0100
Bob,[email protected]
Charlie,[email protected],555-0200,extra

列數較少的行會為缺失欄位生成空字串。列數較多的行會生成額外的索引鍵。偵測到列數不一致時會顯示警告。

前導零

郵遞區號,城市
00123,台北
02134,高雄

啟用型別推斷時,00123 會變成數字 123(丟失前導零)。停用型別推斷以保留原始字串 "00123"——這對於郵遞區號、電話號碼和產品 ID 至關重要。

BOM 字元

從 Windows 版 Excel 匯出的檔案通常包含 UTF-8 BOM(\uFEFF)作為前幾個位元組。轉換器會自動移除 BOM,因此第一個表頭值是乾淨的。您無需任何操作。

空行

名稱,值
Alpha,1

Beta,2

空行和僅包含空格的行會被跳過。它們不會生成 JSON 條目,也不會觸發錯誤。

使用方法

使用 Toollect CSV 轉 JSON 轉換器無需設定或註冊。請按照以下步驟操作:

  1. 開啟工具 — 導航到 CSV 轉 JSON 轉換器頁面。介面顯示上傳區域、輸入文字區域、設定面板和輸出區域。

  2. 輸入資料 — 將 CSV 文字直接貼到文字區域,或點擊上傳區域(或拖放 .csv 檔案)載入檔案。

  3. 檢查設定 — 該工具會自動偵測分隔符,並預設啟用表頭和型別推斷。根據您的資料調整這些設定:

    • 如果自動偵測不正確,請選擇不同的分隔符
    • 如果資料缺少表頭行,請切換"首行為表頭"
    • 停用型別推斷以將所有值保留為字串
  4. 預覽解析的資料 — 點擊"顯示預覽"查看解析後的 CSV 資料的表格檢視。這有助於驗證分隔符和表頭設定是否正確。

  5. 檢查 JSON 輸出 — JSON 輸出會在您輸入時自動更新。輸出文字區域是唯讀的,以防止意外編輯。

  6. 複製或下載 — 點擊"複製"將 JSON 複製到剪貼簿,或點擊"下載 JSON"將其儲存為 .json 檔案。

輸出格式參考

相同的 CSV 輸入可以生成三種不同的 JSON 結構。每種格式適用於不同的使用模式。

範例輸入:

產品,價格,有庫存
Widget,29.99,true
Gadget,49.95,false

物件陣列

每個資料行成為一個以表頭值為鍵的物件。這是預設且最常用的格式,直接對映到 JavaScript 陣列和大多數 REST API 負載。

[
  {
    "產品": "Widget",
    "價格": 29.99,
    "有庫存": true
  },
  {
    "產品": "Gadget",
    "價格": 49.95,
    "有庫存": false
  }
]

二維陣列

輸出是一個陣列的陣列。除非您明確停用表頭,否則表頭行會被排除。適用於矩陣資料和 Grid/DataTable 元件。

[
  ["產品", "價格", "有庫存"],
  ["Widget", 29.99, true],
  ["Gadget", 49.95, false]
]

按第一列鍵控

第一列的值成為物件鍵,其餘列形成值物件。適用於查詢表和字典式資料存取。

{
  "Widget": {
    "價格": 29.99,
    "有庫存": true
  },
  "Gadget": {
    "價格": 49.95,
    "有庫存": false
  }
}

第一列的值必須唯一。重複值會導致後出現的覆蓋先前的——發生這種情況時會顯示警告。

教程

本教程示範如何將 Excel 匯出的 CSV 檔案轉換為用於 Web 應用程式的 JSON 陣列。

場景:您有一個追蹤產品庫存的 Excel 試算表,希望將其匯入需要 JSON 的 Web 應用程式。

  1. 從 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
  1. 開啟 CSV 轉 JSON 轉換器,將 CSV 檔案拖到上傳區域。該工具載入檔案,偵測逗號分隔符,並立即轉換資料。

  2. 檢查預覽 — 點擊"顯示預覽"查看表格表示。確認表頭行已正確解析。

  3. 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"值被省略。

  1. 嘗試鍵轉換 — 從鍵大小寫下拉選單中選擇"snake_case"。輸出變為:
[
  {
    "product_name": "Widget Pro",
    "sku": "WDG-001",
    "price": 29.99,
    "in_stock": true,
    "category": "Tools"
  }
]
  1. 嘗試鍵控格式 — 選擇"按第一列鍵控"以取得按產品名稱索引的物件:
{
  "Widget Pro": {
    "SKU": "WDG-001",
    "Price": 29.99,
    "In Stock": true,
    "Category": "Tools"
  },
  "Gadget X": { ... }
}
  1. 下載結果 — 點擊"下載 JSON"將輸出儲存為 .json 檔案,供 Web 應用程式使用。

專業提示

掌握這些技巧,充分利用 Toollect CSV 轉 JSON 轉換器:

  • 先使用預覽:在依賴 JSON 輸出之前,始終檢查預覽表。列不匹配、錯誤的分隔符或編碼問題在表格預覽中立即可見

  • 處理前導零:郵遞區號、電話號碼和 ID 通常有前導零。停用型別推斷以將它們保留為字串——否則 00123 會變成數字 123

  • 標準化列名:使用鍵大小寫設定將不一致的表頭轉換為統一的格式。對於 API 整合,通常首選 camelCase 或 snake_case

  • 先清理 CSV:刪除尾部空行,檢查各行的列數是否一致,並確保引用欄位使用雙引號以獲得最佳效果

  • 與其他工具結合:在此處將 CSV 轉換為 JSON,然後使用 JSON 格式化器驗證和檢查結構

  • 鍵盤捷徑:使用 Tab 鍵在欄位之間導航。當複製按鈕不可用時,按 Ctrl+A(Cmd+A)選擇輸出區域中的所有文字以快速複製

大檔案指南

CSV 轉 JSON 轉換器透過上傳介面處理最大 10MB 的檔案。超出該限制,或需要最佳效能時,請遵循以下指南。

上傳限制

方法 檔案大小限制 備註
拖放上傳 10 MB FileReader 強制執行的硬性限制
貼到文字區域 瀏覽器記憶體 取決於可用 RAM,渲染較慢
開啟檔案對話框 10 MB 相同的 FileReader 限制

按資料大小的效能

行數 列數 方法 預期時間
1,000 20 任意 即時
10,000 20 任意 < 100 ms
100,000 20 貼上文字 < 1 秒
500,000 20 貼上文字 2-5 秒

處理大檔案

  • 超過 10MB 的檔案:將內容直接貼到文字區域而不是上傳。文字區域繞過 FileReader 的大小限制,使用可用的瀏覽器記憶體
  • 對於超過 100,000 行的檔案,考慮在轉換前將 CSV 分割成更小的區塊
  • 即時預覽會隨著行數增加而變慢——對於大型資料集,保持預覽面板摺疊以停用預覽
  • 型別推斷會增加處理開銷。如果只需要字串輸出,在處理大檔案時停用型別推斷以獲得更快的轉換速度

瀏覽器記憶體考量

每 MB 的 CSV 在轉換期間大約消耗 2-4 MB 的工作記憶體(輸入 + 解析結構 + JSON 輸出)。一個 10MB 的 CSV 檔案可能使用 30-40 MB 的瀏覽器記憶體。處理大檔案時,請關閉其他佔用大量記憶體的分頁。

替代方案

雖然 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(),支援可設定縮排
  • 檔案處理FileReader API,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 轉 JSON 轉換,即時預覽
  • 智慧型分隔符自動偵測,支援手動覆寫
  • 數字、布林值和 null 值的型別推斷
  • 多種輸出格式:物件陣列、二維陣列和鍵控物件
  • 鍵大小寫轉換(camelCase、snake_case、lowercase、UPPERCASE、Capitalize)
  • 可摺疊資料預覽,在轉換前驗證您的 CSV

常見問題

什麼是 CSV 轉 JSON 轉換器?
CSV 轉 JSON 轉換器將以 CSV(逗號分隔值)格式儲存的表格資料轉換為 JSON(JavaScript 物件表示法)。每一行成為一個物件,每一列成為一個屬性。這對於將試算表資料匯入 API、資料庫和 JavaScript 應用程式至關重要。
這個 CSV 轉 JSON 轉換器是免費的嗎?
是的,它完全免費,並且完全在您的瀏覽器中執行。資料永遠不會上傳到任何伺服器。沒有使用限制、帳戶要求或隱藏費用。
如何將 CSV 轉換為 JSON?
只需將 CSV 資料貼到輸入文字區域,或拖放 .csv 檔案即可。該工具會自動偵測分隔符並即時轉換您的資料。您可以透過設定面板自訂分隔符、切換型別推斷、選擇輸出格式等。
我的資料會怎樣?
什麼也不會發生。所有處理都在您的瀏覽器中使用 JavaScript 本地完成。您的 CSV 資料永遠不會離開您的裝置。
我可以自訂分隔符嗎?
可以。該工具可以自動偵測逗號、製表符和分號。您也可以手動選擇分隔符或輸入自訂分隔符。當自動偵測模式啟用時,會顯示偵測到的分隔符。
它支援大型 CSV 檔案嗎?
支援,但效能取決於您的瀏覽器和裝置。上傳的檔案大小限制為 10MB。對於非常大的檔案,請將資料直接貼到文字區域以進行增量處理。
ESC