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

Posted

技术标签:

【中文标题】node.js:将 json 数组转换为 csv【英文标题】:node.js: Convert json array to csv 【发布时间】:2015-03-05 05:46:37 【问题描述】:

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

[ “libelle”:“项目 1”, “受益人”:“勒罗伊先生”, “自然”:“诊断遗产”, “阶段”:“全球”, “预算”: [ “状态”:“布劳伊隆” ], “状态”:“布劳永” , “libelle”:“项目 2”, “受益人”:“勒罗伊先生”, “自然”:“诊断遗产”, “阶段”:“全球”, “状态”:“布劳永” ]

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

"libelle","beneficiaire","nature","phase","budget[0].status","status" "Projet 1","Mr Leroy","Diagnostics patrimonaux","GLOBAL","BROUILLON","BROUILLON" "Projet 2","Mr Leroy","Diagnostics patrimonaux","GLOBAL","BROUILLON"

我正在寻找一个好的和完整的节点模块来做这件事。如果它不存在,我会自己做我想是的。

【问题讨论】:

***.com/questions/16831250/… 看看这个 ling 可能对你有帮助 我已经看到了,这不是我想要的。您的链接将 csv 转换为 json,我想要反向操作。 你能用 php 做这个吗? 不,我不能只是节点(javascript 【参考方案1】:

是的,有一些 npm 模块,例如 fast-csv 和 ya-csv,对此非常有帮助。

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

【讨论】:

【参考方案2】:

您可以使用模块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

【讨论】:

可以在TypeScript环境中使用吗?

以上是关于node.js:将 json 数组转换为 csv的主要内容,如果未能解决你的问题,请参考以下文章

在 Node.js 中响应 JSON 对象(将对象/数组转换为 JSON 字符串)

将 node.js 缓冲区转换为字符串,然后转换为 JSON

将node.js缓冲区转换为字符串,然后转换为JSON

将 csv 转换为 JSON,并在文档顶部添加注释 (Node.js)

使用 node.js 将嵌套的 json 转换为 csv

如何使用 Node.js 将 CSV 文件转换为 JSON 脚本?