Json to CSV
JavaScript
function json2csv(objArray, headers, showHeaders) {
if( typeof headers == "boolean" ){
showHeaders = headers;
headers = null;
}
var itens = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
//separate fields
var fields = {};
if( !headers ){
for(var i = 0; i < itens.length; i++){
for(var prop in itens[i]){
if( !fields[prop] ){
fields[prop] = [];
}
}
}
}else{
headers.forEach(function(header){ fields[header] = []; });
}
//getting data
for(var i = 0; i < itens.length; i++){
for(var prop in fields){
if( typeof itens[i][prop] != "undefined" ){
fields[prop].push( itens[i][prop] );
}else{
fields[prop].push( "" );
}
}
}
//make the csv
var csvLines = [];
if( showHeaders ){
var lineFields = [];
for(var prop in fields){
lineFields.push( prop );
}
var line = lineFields.join(", ");
csvLines.push(line);
}
for(var i = 0; i < itens.length; i++){
var lineFields = [];
for(var prop in fields){
lineFields.push( fields[prop][i] );
}
var line = lineFields.join(", ");
csvLines.push(line);
}
var csvStr = "sep=,\n" + csvLines.join("\n");
return csvStr;
}
function csvStr2file(csvStr){
var base64 = btoa( csvStr );
return "data:text/csv;base64," + base64;
}
var data =...