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

我想在node.js中将元素的json数组转换为csv。 我发现了一些模块,像json2csv或json-csv,但他们不完整。 例如,json2csv只支持一个扁平结构,其中字段是json根的直接子对象,对于所有的json对象,这个模式也应该是相同的。
在我的情况下,我想要的。
我想我有一个像这样的对象的json数组:

 [{
     “libelle”:“Projet 1”,
     “受益人”:“乐华先生”,
     “自然”:“诊断patrimoniaux”,
     “phasage”:“GLOBAL”,
     “预算”: [
         {“status”:“BROUILLON”}
     ]
     “状态”:“BROUILLON”
 },
 {
     “libelle”:“Projet 2”,
     “受益人”:“乐华先生”,
     “自然”:“诊断patrimoniaux”,
     “phasage”:“GLOBAL”,
     “状态”:“BROUILLON”
 }]

我想把它转换为CSV:

 “libelle”, “beneficiaire”, “自然”, “phasage”, “预算[0] .STATUS”, “状态”
 “Projet 1”,“Leroy先生”,“Diagnostic patrimoniaux”,“GLOBAL”,“BROUILLON”,“BROUILLON”
 “Projet 2”,“Leroy先生”,“Diagnostic patrimoniaux”,“GLOBAL”,“BROUILLON”

我正在寻找一个好的完整的节点模块来做到这一点。 如果不存在,我自己也会这么做。

你可以使用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); }); 

输出:

 lastname;name;family.type;family.name;nickname;location Smith;Bob;Father;Peter;; David;James;Mother;Julie;; Miller;Robert;;;;1231,3214,4214 Martin;David;;;dmartin; 

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

是的,像快速scv几个npm模块,雅csv是非常有益的。

var csv = require('ya-csv'); var fastcsv = require('fast-csv');