關於此工具
從 JSON 到 CSV 將分層資料扁平化為表格形式。 JSON的優點在於它可以描述嵌套物件、不同長度的陣列以及豐富的類型資訊; CSV 的較簡單結構無法以本機方式表達其中任何內容。因此,轉換涉及選擇:哪些欄位成為列、如何展平巢狀物件(使用點表示法,如 address.city)以及如何處理記錄內的陣列。
此轉換器直接處理常見情況(具有一致鍵的平面物件數組):每個物件成為一行,所有物件的鍵的並集成為列集,缺少的欄位成為空白單元格。對於嵌套數據,轉換器提供了一個展平選項,該選項將嵌套鍵與點連接起來,生成諸如 user.name、user.email、address.zip 之類的列標題。
PapaParse 產生 CSV 輸出,對包含逗號、換行符或引號字元的欄位套用正確的引號。輸出符合 RFC 4180 標準,並且可以在 Excel、Google Sheets 和任何其他支援 CSV 的工具中乾淨地開啟。
為什麼將 JSON 轉換為 CSV
電子表格仍然是非開發人員的通用資料格式。銷售團隊、財務團隊、行銷團隊和大多數其他業務職能部門都使用 Excel 或 Google Sheets,要求他們直接使用 JSON 就等於要求他們讀取程式設計師的資料格式。將 JSON 轉換為 CSV 橋接器,將 API 輸出和資料庫匯出轉換為業務使用者實際開啟的表單。
CSV 也是匯入遺留系統的最可靠的格式。舊版 CRM 匯入、會計軟體和分析工具接受 CSV,但不接受 JSON。導入前進行轉換通常是唯一的途徑。
技術細節
轉換器需要一個 JSON 物件數組。对于每个对象,计算数组中所有键的并集并将其用作列标题集。每个对象都写为一行,其不包含的键为空值。
启用扁平化后,嵌套对象将递归遍历: { user: { name: 'A', email: 'B' } } 成为列 user.name 和 user.email。由于 CSV 本身无法表示每个单元格的多个值,因此对象内的数组被字符串化(返回为 JSON 文本)。
PapaParse 的 unparse 函數產生 CSV 輸出。包含逗号、换行符或引号的字段用双引号括起来,内部引号通过加倍转义。默认情况下,输出使用 CRLF 行结尾并包含标题行。
常見問題
- 將 JSON 轉換為 CSV 會改變內容嗎?
- 盡可能準確地保留內容。但是,某些特定於格式的功能可能沒有直接等效項,因此可能會出現細微的格式差異。
- 為什麼要轉換為 CSV 格式?
- CSV 受到電子表格應用程式(Excel、Google Sheets)、資料庫和程式語言的普遍支援。這是表格資料交換的最簡單的格式。
- 轉換器是否可以處理巢狀或複雜的 JSON 結構?
- 是的。該工具可以正確解析巢狀物件、陣列和所有標準 JSON 資料類型,從而在 CSV 輸出中保留完整的資料結構。
- 此轉換安全且私密嗎?
- 是的。所有處理都在您的瀏覽器本地進行。您的資料永遠不會離開您的裝置 - 沒有伺服器上傳,沒有雲端處理,沒有資料收集。
- 我的數據是否上傳到伺服器?
- 不會。轉換使用 PapaParse 在您的瀏覽器中運行。
- 同一數組中具有不同鍵的物件怎麼樣?
- CSV 標頭是所有鍵的並集。缺少特定鍵的物件會在該列中產生空白單元格。 CSV 仍然有效,只是稀疏。
- 我可以從 CSV 轉換回 JSON 嗎?
- 是的 — 使用 CSV 到 JSON 工具。對於扁平資料來說,往返可以是無損的;嵌套資料可能需要標準化。
- 最大尺寸是多少?
- 最多 50 MB 的 JSON 輸入。由於瀏覽器記憶體的原因,較大的檔案可能會減慢速度。