免費轉換器

CSV 轉 JSON 轉換器

在瀏覽器中立即將 CSV 資料或檔案轉換為 JSON 格式。支援自定義分隔符、表頭檢測和格式化輸出。

選擇 CSV 檔案

或將檔案拖放到此處

關於此工具

CSV(逗號分隔值)和 JSON(JavaScript 物件表示法)都是普遍存在的資料交換格式,但它們描述資料的方式不同。 CSV 是平面和表格形式的:標題行定義欄位名稱,後續的每一行保存一筆記錄的值。 JSON 是分層的:資料被建構為物件(鍵值對)和數組,支援巢狀和更豐富的類型。將 CSV 轉換為 JSON 通常表示將每個 CSV 行轉換為 JSON 對象,其鍵來自標題行,其值是該行的單元格。

此轉換器使用 PapaParse(JavaScript 生態系統中最可靠的 CSV 函式庫)來解析 CSV。 PapaParse 處理使 CSV 看似困難的怪癖:包含逗號的引用字段、引用字段內的轉義引號、混合行結尾、可選的 BOM 標記以及包含換行符的字段。輸出為結構化 JSON,預設採用兩空格縮排格式化以提高可讀性。

支援兩種輸出格式。物件陣列(預設)產生 [{header1: value1, header2: value2}, ...],這是表格資料最常見的 JSON 形狀。數組數組產生 [[header1, header2], [value1, value2], ...],保留列順序而不使用標頭名稱作為鍵。

為什麼將 CSV 轉換為 JSON

大多數現代 API 和應用程式都使用 JSON。將 CSV 匯出的資料(銷售報告、聯絡人清單、資料庫提取)載入到 JavaScript 應用程式、REST API 或 NoSQL 資料庫中通常需要先檢查 JSON。該轉換也是許多資料轉換的第一步,因為 JSON 比 CSV 更容易以程式設計方式操作。

JSON 的結構也解鎖了 CSV 無法表示的功能。一旦資料採用 JSON 格式,具有巢狀屬性的物件、每個記錄長度不同的陣列以及顯式類型資訊(字串、數字、布林值)都會變得可用。存在 TSV 等 CSV 替代品,但具有相同的平坦度限制。

使用方法

貼上或上傳您的 CSV,取得 JSON。

  1. 新增您的 CSV: 將 CSV 文字貼到輸入區域或拖放 .csv 檔案。 PapaParse 自動偵測分隔符號;逗號是最常見的,但製表符、分號和垂直線也可以。
  2. 選擇輸出格式: 物件陣列使用標頭作為鍵並產生最常見的 JSON 形狀。數組的數組保留原始行結構。根據下游消費者的期望進行選擇。
  3. 轉換: PapaParse 在瀏覽器中處理 CSV,處理引號的欄位、轉義引號和邊緣情況。輸出 JSON 是透過對包含特殊字元的字串進行正確轉義而產生的。
  4. 下載或複製: 另存為 .json 或複製到剪貼簿。輸出是任何 JSON 解析器都可以使用的有效 JSON。

常見用例

技術細節

PapaParse 實作 RFC 4180(CSV 規範)以及實際 CSV 檔案所包含的變體的擴充。帶有引號的欄位可以包含逗號、換行符和引號字元(透過加倍轉義)。如果存在標題,則從第一行偵測標題。數字和布林值可以自動輸入(轉換為實際數字或布林值而不是字串)或保留為字串。

輸出 JSON 是使用具有可選縮排的 JSON.stringify 產生的。字串針對 JSON 語法(反斜線、引號、控製字元)進行轉義,結構則使用請求的格式(物件陣列或陣列陣列)。

處理的邊緣情況:檔案開頭的 BOM、混合行結尾(\n 與 \r\n)、空單元格(根據設定呈現為空字串或 null)、尾隨換行符以及具有不同欄位計數的行。 PapaParse 的穩健性使其成為標準的 JavaScript CSV 函式庫。

最佳實踐

常見問題

將 CSV 轉換為 JSON 會改變內容嗎?
盡可能準確地保留內容。但是,某些特定於格式的功能可能沒有直接等效項,因此可能會出現細微的格式差異。
為什麼要將資料轉換為 JSON 格式?
JSON 是 Web API 和 JavaScript 應用程式的標準資料格式。它是人類可讀的,受到程式語言的廣泛支持,並且具有比 XML 更簡單的語法。
轉換器是否可以處理巢狀或複雜的 CSV 結構?
是的。該工具可以正確解析巢狀物件、陣列和所有標準 CSV 資料類型,從而在 JSON 輸出中保留完整的資料結構。
此轉換安全且私密嗎?
是的。所有處理都在您的瀏覽器本地進行。您的資料永遠不會離開您的裝置 - 沒有伺服器上傳,沒有雲端處理,沒有資料收集。
我的數據是否上傳到伺服器?
不需要。 PapaParse 在您的瀏覽器中運作;轉換完全發生在您的裝置上。
我可以將 JSON 轉換回 CSV 嗎?
是的 - 使用 JSON 到 CSV 工具,它會反轉該過程。
最大輸入尺寸是多少?
最大 50 MB。由於瀏覽器記憶體限制,較大的檔案可能會變慢;對於生產規模的轉換,伺服器端或腳本化方法更可靠。
為什麼帶有引號的多行欄位的 CSV 轉換結果很奇怪?
PapaParse 在正確引用時處理多行欄位。如果結果錯誤,請檢查引號的欄位是否使用雙引號,以及內部引號是否透過雙引號 ("") 進行轉義。