node.js:将json数组转换为csv

Dji*_*iaw 1 csv json node.js

我想在node.js中将元素的json数组转换为csv。我已经找到了一些执行此操作的模块,例如json2csv或json-csv,但它们并不完整。例如,json2csv仅支持平面结构,其中字段是json根的直接子级,并且所有json对象的架构都应该相同。
就我而言,我想要那个。
我想我有一个像这样的对象的json数组:

[{
    “ libelle”:“ Projet 1”,
    “受益人”:“乐华先生”,
    “ nature”:“ Diagnostics patrimoniaux”,
    “ phasage”:“ GLOBAL”,
    “预算”: [
        {“状态”:“ BROUILLON”}
    ],
    “状态”:“布鲁克林”
},
{
    “ libelle”:“ Projet 2”,
    “受益人”:“乐华先生”,
    “ nature”:“ Diagnostics patrimoniaux”,
    “ phasage”:“ GLOBAL”,
    “状态”:“布鲁克林”
}]

我想像这样将其转换为csv:

“诽谤”,“受益人”,“性质”,“阶段”,“预算[0]。状态”,“状态”
“ Projet 1”,“ Leroy先生”,“ Diagnostics patrimoniaux”,“ GLOBAL”,“ BROUILLON”,“ BROUILLON”
“ Projet 2”,“ Leroy先生”,“ Diagnostics patrimoniaux”,“ GLOBAL”,“ BROUILLON”

我正在寻找一个好的且完整的节点模块来执行此操作。如果不存在,我会自己做。

Kau*_*nes 5

您可以jsonexport很容易地使用该模块,请检查以下示例:

样品:

var jsonexport = require('jsonexport');

var contacts = [{
   name: 'Bob',
   lastname: 'Smith',
   family: {
       name: 'Peter',
       type: 'Father'
   }
},{
   name: 'James',
   lastname: 'David',
   family:{
       name: 'Julie',
       type: 'Mother'
   }
},{
   name: 'Robert',
   lastname: 'Miller',
   family: null,
   location: [1231,3214,4214]
},{
   name: 'David',
   lastname: 'Martin',
   nickname: 'dmartin'
}];

jsonexport(contacts,function(err, csv){
    if(err) return console.log(err);
    console.log(csv);
});
Run Code Online (Sandbox Code Playgroud)

输出:

lastname;name;family.type;family.name;nickname;location
Smith;Bob;Father;Peter;;
David;James;Mother;Julie;;
Miller;Robert;;;;1231,3214,4214
Martin;David;;;dmartin;
Run Code Online (Sandbox Code Playgroud)

资料来源:https : //www.npmjs.com/package/jsonexport