📅  最后修改于: 2023-12-03 15:17:04.413000             🧑  作者: Mango
在开发过程中,有时我们需要将服务器端所返回的 JSON 数据转换成 CSV 文件。本篇文章将介绍如何使用 Node.js 将 JSON 数据转换成 CSV 文件。
在开始之前,我们需要安装一个非常有用的库,它是 json2csv
。该库可以将 JSON 转换成类似 Excel CSV 格式的文件。
npm install json2csv
const json2csv = require('json2csv').parse;
const fs = require('fs');
const jsonData = [
{
name: '张三',
age: 18,
gender: '男'
},
{
name: '李四',
age: 20,
gender: '女'
}
];
const fields = ['name', 'age', 'gender'];
try {
const csv = json2csv(jsonData, { fields });
fs.writeFileSync('output.csv', csv);
console.log('CSV 文件已创建成功!');
} catch (err) {
console.error(err);
}
通过上面的代码,我们可以看到:
json2csv
和 fs
模块。fields
数组,用于指定需要转换的 JSON 数据的字段。json2csv
方法将 JSON 数据转换成 CSV 格式的文件。fs
模块将数据写入 output.csv
文件。json2csv
函数接受两个参数:
在上面的例子中,我们使用 fs
模块将转换后的数据写入磁盘文件。如果你愿意,也可以通过 HTTP 请求将数据返回给客户端。
可选配置项对象有以下一些属性:
fields: Array<string>
: 需要转换的字段名数组,默认为 []
。delimiter: string
: CSV 文件分隔符,默认为 ,
。header: boolean | Array<string>
: 是否添加头部,默认为 true
。quotes: string
: 转义引号字符,默认为 "
。doubleQuotes: string
: 转义转义引号字符,默认为 "
。eol: string
: CSV 文件行结束符,默认为\n
。使用示例:
const jsonData = [
{
name: 'John Doe',
age: 33,
gender: 'male',
emailAddress: 'johndoe@example.com'
}
];
const fields = ['name', 'age'];
const opts = {
fields,
delimiter: ';',
header: true,
quotes: '"',
doubleQuotes: '"',
eol: '\r\n'
};
const csv = json2csv(jsonData, opts);
console.log(csv);
使用 json2csv
库非常方便,可以快速地将 JSON 数据转换为 CSV 数据。在实际应用中,你可以根据需求来定制输出的 CSV 数据,让它满足你的实际应用需求。