根据文档,当使用json2csv模块将JSON解析为CSV时,可以提供配置,例如包含NULL或设置默认值,但是我无法使其工作。
这是正确的吗?
const json2csvParser = new Parser({ fields,defaultValue : "NA",includeEmptyRows : true });
最佳答案
如果JSON数据中缺少该字段或未定义该字段,则默认选项有效,但是它不会替换空值,我们可以通过下面的测试来查看。
如果您希望这样做,可以潜在地预处理数据以将空值替换为未定义的值。
顺便说一句,您还可以为每个字段设置默认值,这通过创建如下所示的字段对象数组非常有用:
const fields = [{ label: 'car', value: 'car', default: 'carDefault' },
{ label: 'price', value: 'price', default: 'priceDefault' },
{ label: 'color', value: 'color', default: 'colorDefault' } ];
保时捷和梅赛德斯颜色将使用以下默认值填充,因为该字段缺失或未定义,而宝马则不是,因为该颜色为空。
const { Parser } = json2csv;
const fields = ['car', 'price', 'color']
const myCars = [
{
"car": "Audi",
"price": 40000,
"color": "blue"
}, {
"car": "BMW",
"price": 35000,
"color": null
}, {
"car": "Porsche",
"price": 60000
}, {
"car": "Mercedes",
"price": 60000,
"color": undefined
}
];
const json2csvParser = new Parser({ fields, defaultValue : "NA", includeEmptyRows : true });
const csv = json2csvParser.parse(myCars);
console.log("CSV output:");
console.log(csv);
<script src="https://cdn.jsdelivr.net/npm/json2csv"></script>
关于node.js - 如何在Express中指定json2csv的配置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57592278/