[JavaScript]使用服务器上已转换为 JSON 格式的 CSV 文件。

この記事は約3分で読めます。
スポンサーリンク

我想做的事情

服务器端的 CSV 文件在客户端转换为 JSON 格式并使用。

使用的库是 node-csvtojson。必须安装 Node.js。

GitHub - Keyang/node-csvtojson: Blazing fast and Comprehensive CSV Parser for Node.JS / Browser / Command Line.
Blazing fast and Comprehensive CSV Parser for Node.JS / Browser / Command Line. - GitHub - Keyang/node-csvtojson: Blazing fast and Comprehensive CSV Parser for...

由于所有数据都将下载到客户端,如果您处理的是敏感数据(例如用户信息)或大量数据,请考虑其他方法。

スポンサーリンク

准备

在项目根目录下运行以下命令来安装 csvtojson。

npm 和 csvtojson
スポンサーリンク

执行

具体实现如下:

import csv from "csvtojson"

const convertCsv2Json = (txt) => {
  csv().fromString(txt).then(
    csv_data => {
      console.log(csv_data);
    }
  )
}

const fetchSetting = async (url) => {
  fetch(url).then(res => res.text().then(txt => convertCsv2Json(txt)));
}

fetchSetting("/setting.csv")

`fetchSetting` 函数会下载一个 CSV 文件,然后调用 `convertCsv2Json` 函数。(参数 `/setting.csv` 是 CSV 文件的 URL;请根据需要进行更改。)

convertCsv2Json 将下载的 CSV 文件转换为 JSON。

转换为 JSON 格式的数据可以用作以下函数中的 `csv_data`。

    csv_data => {
      console.log(csv_data);
    }

日文字符可能显示不全。请将 CSV 文件保存为 UTF-8 格式。

例子

以下是输入 CSV 和输出 JSON 的示例。

第一行被视为标题。

/setting.csv

姓名、年龄、国家
Taro,25岁,日本
汤姆,21岁,美国

csv_数据

其他输出方法

您可以通过向 csv() 函数传递参数来更改输出。

csv({ noheader: true, output: csv })

在此设置下,第一行也被视为数据,并将数据保存为数组。

/setting.csv

姓名、年龄、国家
Taro,25岁,日本
汤姆,21岁,美国

csv_数据

csv({ output: line })

在此设置下,数据将保存为单个字符串。

/setting.csv

姓名、年龄、国家
Taro,25岁,日本
汤姆,21岁,美国

csv_数据

コメント

タイトルとURLをコピーしました