如何在 Node.js 中将 JSON 文件转换为 CSV

在 Node.js 中将 JSON 文件转换为 CSV

JSON(JavaScript 对象表示法)是基于文本的标准格式,用于在 Web 客户端和 Web 服务器之间存储和传输数据。 CSV(逗号分隔值)也是一种文本文件格式,用于以表格结构格式存储数据。在某些情况下,您可能需要将字典对象导入到 Node.js 应用程序中以逗号分隔的值。对于此类情况,本文演示了如何在 Node.js 中将 JSON 文件转换为 CSV。

本文应涵盖以下主题:

JSON 到 CSV 转换 REST API 和 Node.js SDK

将 JSON 转换为 CSV 的最佳方法是使用 GroupDocs.Conversion Cloud 的 Node.js SDK API。它是一个独立于平台的 JSON 到 CSV 库和文档转换解决方案。它允许您将任何 支持的文件格式 的文档和图像无缝转换为您需要的任何格式。 Word、PowerPoint, Excel、PDF、HTML、CAD、光栅图像等50多种文档和图像之间轻松转换。它还提供.NET、Java、PHP、Ruby、Android和Python SDK作为其文档转换家族成员 为 Cloud API。

您可以在控制台中使用以下命令将 GroupDocs.Conversion Cloud 安装到您的 Node.js 项目:

npm install groupdocs-conversion-cloud

在开始执行步骤和可用代码示例之前,请从 仪表板 获取您的客户端 ID 和客户端密码。获得 ID 和密码后,请添加如下所示的代码:

# 从 http://api.groupdocs.cloud 在您的节点应用程序中导入 Node.js SDK
global.groupdocs_conversion_cloud = require("groupdocs-conversion-cloud");
global.fs = require("fs");

// 从 https://dashboard.groupdocs.cloud 获取 clientId 和 clientSecret(需要免费注册)。
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

如何使用 REST API 在 Node.js 中将 JSON 转换为 CSV 文件

您可以按照以下步骤在云端以编程方式将嵌套的 json 转换为 nodejs 中的 csv:

  1. 上传JSON文件到云端
  2. 转换 nodejs JSON 到 CSV 文件
  3. 下载转换后的CSV文件

上传 JSON 文件

首先,使用以下代码示例将 JSON 文件上传到云端:

// 从系统驱动器打开 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-file.json';
// 读取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 构建FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // 创建上传文件请求
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample-file.json", fileStream, myStorage);
  // 上传文件
  fileApi.uploadFile(request)
    .then(function (response) {
      console.log("Expected response type is FilesUploadResult: " + response.uploaded.length);
    })
    .catch(function (error) {
      console.log("Error: " + error.message);
    });
});

因此,上传的 JSON 文件将在云端仪表板的 文件部分 中可用。

在 Node.js 中将 JSON 转换为 CSV 格式

您可以按照以下步骤以编程方式将 json 转换为 csv 节点:

  • 创建 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 设置存储名称和输入的 JSON 文件路径
  • 将“csv”分配给格式
  • 现在,提供输出 csv 文件路径
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 通过使用 ConvertDocumentRequest 调用 convertDocument() 方法进行转换

以下代码示例显示了如何使用 REST API 在 Nodejs 中将 JSON 转换为 CSV:

const convert = async () => {
  const convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

  const settings = new groupdocs_conversion_cloud.ConvertSettings();
  settings.storageName = myStorage;
  settings.filePath = "nodejs-testing/sample-file.json";
  settings.format = "csv";
  settings.outputPath = "nodejs-testing/sample-file.csv";

  try {
    // 创建转换文档请求
    const request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
    await convertApi.convertDocument(request);
  } 
  catch (err) {
    throw err;
  }
}

convert()
.then(() => {
  console.log("JSON file converted to CSV successfully");
})
.catch((err) => {
  console.log("Error occurred while converting the JSON file:", err);
})

下载转换后的文件

上面的代码示例会将转换后的 CSV 文件保存在云端。现在你知道如何在节点中将 JSON 转换为 CSV。接下来,使用以下代码示例下载 csv 文件:

// 构建 FileApi 以下载转换后的文件
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
// 创建下载文件请求
let request = new groupdocs_conversion_cloud.DownloadFileRequest("nodejs-testing/sample-file.csv", myStorage);
// 下载文件和响应类型 Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // 将文件保存在系统目录中
        fs.writeFile("H:\\groupdocs-cloud-data\\sample-file.csv", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

免费的 JSON 到 CSV 在线转换器

如何免费在线将 JSON 转换为 CSV?请尝试以下 convert large JSON to CSV online free,它是使用上述 API 开发的。

结论

JSON 和 CSV 文件广泛用于存储和传输数据。据此,本文介绍了如何在 Node.js 应用程序中将 JSON 转换为 CSV。现在你知道了:

  • 如何使用 Node.js 将 json 转换为 csv;
  • 以编程方式上传和下载转换后的 csv 文件;
  • 免费的在线 json 到 csv 转换器;

此外,您可以使用 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。

问一个问题

您可以通过我们的免费支持论坛 询问有关如何将 JSON 转换为 CSV 格式的问题

也可以看看