javascript - json数组是什么csv格式,如何转换成json数组,Nodejs
问题描述
美好的一天,我已经搜索了几个小时,但找不到我想要的结果。首先,我不知道使用以下 JSON 数组的 CSV 看起来如何。
[
{ email: "test@test.com",
contactNo: "123456",
meta: [
{key: "Name", value: "Kevin XYZ", type: "string"},
{key: "Position", value: "Chairman", type: "string"}]
}
]
以下 json 数组的 csv 格式是什么,以及如何在 NodeJS 中将它们从 csv 转换为 json 数组。
解决方案
将您的 CSV 文件想象为 Excel 工作表,其中只有列和行,因此使用您喜欢的结构,您至少需要定义这些列:
|| 电子邮件 || 联系方式 || 姓名 || 职位 ||
这 4 个是您的 CSV 需要的最基本的标题列,那么您将需要一个transformer
函数来处理您想要的数据结构。
根据我的经验,我使用https://www.papaparse.com/
的是 CSV 解析器,您可以查看示例并自己尝试。
在您的情况下,解析器函数将如下所示:
const parsed = await Papa.parse(csvString, {
header: true,
trimHeaders: true,
skipEmptyLines: 'greedy',
transformHeader: val => isString(val) ? trimAll(val) : val,
transform: (val, headerName) => {
return isString(val) ? trimAll(val) : val
}
});
//
[
{
"email": "user1@user.com",
"contactNo": "1234-5678",
"name": "Doe",
"position": "doctor",
},
{
"email": "user2@user.com",
"contactNo": "1234-5678",
"name": "John",
"position": "developer"
},
...
]
干杯,
推荐阅读
- excel - 具有多个输出的 IF OR AND excel 公式
- python - 如何使用 LabelBinarizer sklearn 将具有 None 值的标签数据转换为 OneHot
- c# - C# asmx WebService 转换问题
- android-recyclerview - findViewHolderForAdapterPosition() 始终为自定义 ViewHolder 返回 null
- sql - 将长字符串分割成多个字符串SQL
- angular - 移动状态后,清除状态会影响其他状态
- node.js - 谷歌驱动器和电子表格:是否可以以编程方式访问命名修订?
- android - 不能在 android 中使用 subscribeon() & observeon() RxJava2/RxAndroid2
- php - PHP mail() ' (单引号) 主题被转义
- regex - 我可以使用 yum 以外的文件模式吗?