如何在 express 中为 json2csv 指定配置
Posted
技术标签:
【中文标题】如何在 express 中为 json2csv 指定配置【英文标题】:How to specify configurations to json2csv in express 【发布时间】:2019-12-26 18:30:26 【问题描述】:根据文档,可以提供配置,例如在使用 json2csv 模块将 JSON 解析为 CSV 时包含 NULL 或设置默认值,但我无法让它工作。
这是对的吗?
const json2csvParser = new Parser( fields,defaultValue : "NA",includeEmptyRows : true );
【问题讨论】:
【参考方案1】:如果 JSON 数据中缺少该字段或如果它是 undefined,则默认选项有效,但是它不会替换空值,我们可以通过下面进行测试。
如果您希望这种行为,您可能会预处理您的数据以用未定义的值替换空值。
顺便说一句,您还可以为每个字段设置默认值,这样创建字段对象数组非常有用:
const fields = [ label: 'car', value: 'car', default: 'carDefault' ,
label: 'price', value: 'price', default: 'priceDefault' ,
label: 'color', value: 'color', default: 'colorDefault' ];
Porsche 和 Mercedes 颜色填充下面的默认值,因为该字段缺失或未定义,BMW 不是,因为颜色为空。
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>
【讨论】:
非常感谢,我在定义字段时没有设置默认值,这可能是原因。会试试这个! 太好了,你还可以看看你的输入数据是否有null作为字段值,这个不会被替换,但是undefined会。编码愉快!以上是关于如何在 express 中为 json2csv 指定配置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MongoDB 中为 NodeJS Express 应用程序存储站点配置?
如何使用 json2csv nodejs 模块将 JSON 对象解析为 CSV 文件