JSON 文件廣泛用於在不同應用程序之間傳輸數據。另一方面,CSV 也是一種以逗號分隔格式存儲數據的常用格式。在某些情況下,您可能需要從 Node.js 應用程序中將數據從 JSON 文件導入到 CSV。對於此類情況,本文介紹瞭如何在 Node.js 中將 JSON 數據轉換為 CSV。
用於 JSON 到 CSV 轉換的 Node.js API
對於 JSON 到 CSV 的轉換,我們將使用 Aspose.Cells for Node.js。它是一個功能豐富的 API,用於在 Node.js 應用程序中創建、修改和轉換電子表格文件。您可以 下載 API 或使用以下 npm 命令安裝它。
npm install aspose.cells
在 Node.js 中將 JSON 轉換為 CSV 的簡單步驟
以下是在 Node.js 應用程序中以 CSV 格式保存 JSON 文件的步驟。
- 創建一個 Excel 文件。
- 選擇 Excel 文件中的特定工作表。
- 將數據從 JSON 文件導入到 Excel 工作表。
- 以 CSV 格式保存 Excel 文件。
現在讓我們將上述步驟轉化為 Node.js 代碼,將 JSON 文件轉換為 CSV 格式。
在 Node.js 中將 JSON 文件轉換為 CSV
以下是在 Node.js 中將 JSON 數據轉換為 CSV 格式的步驟。
- 創建一個新的 Workbook 對象。
- 使用 Workbook.getWorksheets().get(0) 方法獲取第一個工作表的引用。
- 創建 JsonLayoutOptions 類的對像以設置其他選項。
- 使用 JsonUtility.importData() 方法將數據從 JSON 導入 CSV。
- 使用 Workbook.save(string, SaveFormat.CSV) 方法保存 CSV 文件。
以下代碼示例展示瞭如何將 JSON 數據轉換為 CSV 格式。
// 加載 JSON 數據
var jsonInput = '[{"nodeId":1,"reputation":1134},{"nodeId":2,"reputation":547},{"nodeId":3,"reputation":1703},{"nodeId":4,"reputation":-199},{"nodeId":5,"reputation":-306},{"nodeId":6,"reputation":-49},{"nodeId":7,"reputation":1527},{"nodeId":8,"reputation":1223}]'
// 創建一個空白工作簿對象
var workbook = aspose.cells.Workbook()
// 訪問默認的空工作表
var worksheet = workbook.getWorksheets().get(0)
// 為格式化設置 JsonLayoutOptions
var layoutOptions = aspose.cells.JsonLayoutOptions()
layoutOptions.setArrayAsTable(true)
// 將 JSON 數據導入從單元格 A1 開始的默認工作表
aspose.cells.JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, layoutOptions)
// 保存結果文件
workbook.save("output.csv", aspose.cells.SaveFormat.CSV)
JSON數據
以下是我們在上述代碼示例中使用的 JSON 數據。
[{"nodeId":1,"reputation":1134},{"nodeId":2,"reputation":547},{"nodeId":3,"reputation":1703},{"nodeId":4,"reputation":-199},{"nodeId":5,"reputation":-306},{"nodeId":6,"reputation":-49},{"nodeId":7,"reputation":1527},{"nodeId":8,"reputation":1223}]'
轉換後的 CSV
下面是導入JSON數據後轉換後的CSV文件。
Node.js JSON 到 CSV 轉換器 - 獲取免費許可證
獲取 臨時許可證 並在沒有評估限制的情況下使用 Aspose.Cells for Node.js。
結論
JSON 和 CSV 文件廣泛用於存儲和傳輸數據。據此,本文介紹瞭如何在 Node.js 應用程序中將 JSON 數據轉換為 CSV。此外,您可以使用 文檔 探索 Aspose.Cells for Node.js。此外,您可以通過我們的 論壇 提問。