JSFiddle - React, Tailwind, and code Playground

by Ian Sadovy

JavaScript

function jsonToCSV(data) {
    var csvData = "";
    for (var i = 0; i < data.gridData.length; i++) {
        if (i == 0) {
            // write csv header
            var header = [];
            for (var column in data.gridData[i]) {
                header.push(column.replace(":", ""));
            }
            csvData += header.join(",") + "\n";
        }
        // write data row
        var row = [];
        for (var column in data.gridData[i]) {
            row.push(data.gridData[i][column]);
        }
        csvData += row.join(",") + "\n";
    }
    return csvData;
}

var data = {
   "gridData":[
      {
         "id":"0",
         "Account Site":"-",
         "Account Owner: Email":"[email protected]",
         "Account Owner":"Kevin McManus",
         "Account Name":"McManus Software + Consulting",
         "Account Owner Alias":"KMcMa",
         "Owner Role":"CEO",
         "Account ID":"001E000000BLt76",
         "Created Date":"6/19/2011",
         "Last Modified Date":"6/4/2015"
      },
      {
         "id":"1",
         "Account Site":"-",
         "Account Owner: Email":"[email protected]",
         "Account Owner":"Kevin McManus",
         "Account Name":"Independant",
         "Account Owner Alias":"KMcMa",
         "Owner Role":"CEO",
         "Account ID":"001E000000BLt77",
         "Created Date":"6/19/2011",
         "Last Modified Date":"6/4/2015"
      },
      {
         "id":"2",
         "Account Site":"-",
         "Account Owner: Email":"[email protected]",
         "Account Owner":"Kevin McManus",
         "Account Name":"Kerrville RiverDogs",
         "Account Owner Alias":"KMcMa",
         "Owner Role":"CEO",
         "Account ID":"001E000000BLt79",
         "Created Date":"6/19/2011",
         "Last Modified Date":"6/19/2011"
      },
      {
         "id":"3",
         "Account Site":"-",
         "Account Owner: Email":"[email protected]",
         "Account Owner":"Kevin McManus",
         "Account Name":"CTR...