使用 npm 安装:
npm install json2csv
使用 yarn 安装:
yarn add json2csv
const { parse } = require('json2csv');
const jsonData = [
{ name: 'Alice', age: 30, city: 'New York' },
{ name: 'Bob', age: 25, city: 'Los Angeles' }
];
const csv = parse(jsonData);
console.log(csv);
const { parse } = require('json2csv');
const jsonData = [
{ name: 'Alice', age: 30, city: 'New York' },
{ name: 'Bob', age: 25, city: 'Los Angeles' }
];
const fields = ['name', 'city'];
const opts = { fields };
const csv = parse(jsonData, opts);
console.log(csv);
const { parse } = require('json2csv');
const jsonData = [
{ name: 'Alice', info: { age: 30, city: 'New York' } },
{ name: 'Bob', info: { age: 25, city: 'Los Angeles' } }
];
const fields = ['name', 'info.age', 'info.city'];
const opts = { fields };
const csv = parse(jsonData, opts);
console.log(csv);
parse:将 JSON 数据解析为 CSV 格式。
const csv = parse(data, options);
data
:要转换的 JSON 数据。options
:配置对象,用于自定义转换行为。parseAsync:异步解析 JSON 数据为 CSV 格式。
const csv = await parseAsync(data, options);
data
:要转换的 JSON 数据。options
:配置对象,用于自定义转换行为。配置选项:
fields
:要包含在 CSV 中的字段列表。delimiter
:字段分隔符,默认为逗号。defaultValue
:当字段缺失时的默认值。quote
:是否对字段值进行引号包裹。header
:是否包含 CSV 表头。可以使用自定义转换函数,对字段值进行转换:
const { parse } = require('json2csv');
const jsonData = [
{ name: 'Alice', age: 30, city: 'New York' },
{ name: 'Bob', age: 25, city: 'Los Angeles' }
];
const fields = [
{
label: 'Name',
value: 'name'
},
{
label: 'Age',
value: row => row.age + ' years'
},
{
label: 'City',
value: 'city'
}
];
const opts = { fields };
const csv = parse(jsonData, opts);
console.log(csv);
可以处理大规模数据的流式转换:
const { Transform } = require('json2csv');
const fs = require('fs');
const input = fs.createReadStream('path/to/json/file.json');
const output = fs.createWriteStream('path/to/csv/file.csv');
const opts = { fields: ['name', 'age', 'city'] };
const transformOpts = { highWaterMark: 16384, encoding: 'utf-8' };
const json2csv = new Transform(opts, transformOpts);
input.pipe(json2csv).pipe(output);
json2csv 是一个功能强大且灵活的库,能够满足各种 JSON 到 CSV 的转换需求,是开发者进行数据处理和导出的得力工具。