我要将CSV转换为JSON正确数据类型
csv文件第二行是数据类型。数据有300多个属性示例数据:
| 名称名称名称|DMG公司|惠普|人类|
| - -|- -|- -|- -|
| 串|号码|号码|布尔的|
| 骑士|100个|五百个|真的|
| 弓箭手|五十个|二百|真的|
| 挡块|- -|- -|- -|
如果字符串为空,则返回null
如果number为空,则返回0
如果布尔值为空,则返回false
我的node.js代码:
const fs = require('fs')
const papa = require("papaparse")
const results = [];
const options = { header: true, dynamicTyping: true };
fs.createReadStream("characters.csv")
.pipe(papa.parse(papa.NODE_STREAM_INPUT, options))
.on("data", (data) => {
results.push(data);
}).on("end", () => {
console.log(results)
})
输出I预期:
[
{
"Name": "knight",
"DMG": 100,
"HP": 500,
"Human": true,
},
{
"Name": "archer",
"DMG": 50,
"HP": 200,
"Human": true,
},
{
"Name": "dog",
"DMG": 0,
"HP": 0,
"Human": false,
},
]
2条答案
按热度按时间jmp7cifd1#
选项选项..
在这种方法中,我缓存了headerTypes并创建了一个小的helper函数来返回所需的类型
定义变量
let i = 0, headerTypes = {};
将您的on.data代码替换为
添加此帮助器函数
jw5wzhpr2#
尝试覆盖www.example.com事件中的属性on.data,如下所示