在前端开发中我们经常需要将 JSON 数据转换为 CSV 文件进行导出,而 @numminorihsf/json2csv 是一款非常好用的 npm 包,它可以快速将 JSON 转换为 CSV 格式,节省了大量的时间与精力。
安装 & 引入
使用 @numminorihsf/json2csv,需要先进行安装,并通过 require 或 import 引入。
npm install @numminorihsf/json2csv --save
//使用 CommonJS 规范 const json2csv = require('@numminorihsf/json2csv') //使用 ES6 的 import/export 语法 import json2csv from '@numminorihsf/json2csv'
基本用法
将 JSON 数据转换为 CSV 格式分为以下几个步骤:
1. 数据准备
首先需要准备待转换的 JSON 数据,可以手写或从接口中获取。
const data = [ { name: '小明', age: '18', gender: '男', address: '北京市海淀区' }, { name: '小红', age: '19', gender: '女', address: '上海市徐汇区' }, { name: '小李', age: '20', gender: '男', address: '广州市天河区' }, ]
2. 配置字段
因为 JSON 数据的结构五花八门,所以有时候需要配置要导出的字段,这样可以避免一些不必要的数据被导入到 CSV 文件中。
const fields = ['name', 'age', 'gender', 'address']
3. 转换
将 JSON 数据与字段配置传入 json2csv 方法中即可完成转换。
const csv = json2csv({ data, fields }) console.log(csv)
输出结果如下:
"name","age","gender","address" "小明","18","男","北京市海淀区" "小红","19","女","上海市徐汇区" "小李","20","男","广州市天河区"
复杂用法
1. 自定义字段标头
默认情况下,表头中的字段为 JSON 数据中的键名,但如果需要特定的表头,可以使用 fieldNames。
const fieldNames = ['姓名', '年龄', '性别', '地址'] const csv = json2csv({ data, fields, fieldNames }) console.log(csv)
输出结果如下:
"姓名","年龄","性别","地址" "小明","18","男","北京市海淀区" "小红","19","女","上海市徐汇区" "小李","20","男","广州市天河区"
2. 添加换行符
有时候需要在 CSV 文件中添加换行符,在 json2csv 中可以使用 eol 选项。
const csv = json2csv({ data, fields, eol: '\r\n' }) console.log(csv)
输出结果如下:
"name","age","gender","address"\r\n "小明","18","男","北京市海淀区"\r\n "小红","19","女","上海市徐汇区"\r\n "小李","20","男","广州市天河区"\r\n
3. 异步处理
在复杂的业务场景下,我们可能需要将异步获取的 JSON 数据转换成 CSV 格式,此时可以使用 Promise 封装 json2csv 。
-- -------------------- ---- ------- ----- -- - ------------- ----- - --------- - - --------------- ----- -------------- - ----------------------- ----- ---- - - - ----- ----- ---- ----- ------- ---- -------- -------- -- - ----- ----- ---- ----- ------- ---- -------- -------- -- - ----- ----- ---- ----- ------- ---- -------- -------- -- - ----- -------- ----------- - ----- ------ - -------- ------ --------- ---------- ----- --- - ----- ---------- ----- ------ -- ----- -------------------------- ---- ---------------- --------- - -----------
总结
如此简单的使用方法,能够让我们快速、方便地将 JSON 数据转换为 CSV 格式,提高数据导出的效率。
@numminorihsf/json2csv 的文档也比较完善,如果您需要更进一步的使用方法,可以查看其官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005602981e8991b448de58e