2015-01-07 2 views
1

Я хочу преобразовать массив json элементов в csv в node.js. Я обнаружил, что какой-то модуль делает это как json2csv или json-csv, но они не полные. Например, json2csv поддерживает только плоскую структуру, где поля являются прямыми дочерними элементами корня json, а также схема должна быть одинаковой для всех json-объектов.
В моем случае я хочу это.
Я полагаю, что я имею в JSON массив объектов подобного:node.js: преобразовать json-массив в csv

 
[{ 
    "libelle" : "Projet 1", 
    "beneficiaire" : "Mr Leroy", 
    "nature" : "Diagnostics patrimoniaux", 
    "phasage" : "GLOBAL", 
    "budget": [ 
     {"status": "BROUILLON"} 
    ], 
    "status" : "BROUILLON" 
}, 
{ 
    "libelle" : "Projet 2", 
    "beneficiaire" : "Mr Leroy", 
    "nature" : "Diagnostics patrimoniaux", 
    "phasage" : "GLOBAL", 
    "status" : "BROUILLON" 
}] 

и я хочу, чтобы преобразовать его в формат CSV так:

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

Я ищу хороший и полный для этого. Если этого не будет, я сделаю это сам, я так думаю.

+0

http://stackoverflow.com/questions/16831250/how-to-convert-csv-to-json-in-node-js Посмотрите, что это может помочь вам – VostanAzatyan

+1

Я видел это, и это не так что я хочу. Ваша ссылка конвертирует csv в json и меня, мне нужна обратная операция. –

+0

Можете ли вы использовать PHP для этого? – VostanAzatyan

ответ

0

Да, есть несколько модулей npm, таких как быстрый scv, 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

Смежные вопросы