如何在 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 文件

如何在 Expression Blend 中的单个事件处理程序中为按钮单击添加多个事件?

如何在 Node 中为 websocket 做代理

如何在grep中为每个文件匹配一次?

如何将 XML 文件(在本例中为业务流程事件日志)导入和查询到 SQL Server Express?