Converting JSON object to CSV format in JavaScript Converting JSON object to CSV format in JavaScript javascript javascript

Converting JSON object to CSV format in JavaScript


you can try as

$(document).ready(function () {        // Create Object        var items = [              { name: "Item 1", color: "Green", size: "X-Large" },              { name: "Item 2", color: "Green", size: "X-Large" },              { name: "Item 3", color: "Green", size: "X-Large" }];        // Convert Object to JSON        var jsonObject = JSON.stringify(items);        // Display JSON        $('#json').text(jsonObject);        // Convert JSON to CSV & Display CSV        $('#csv').text(ConvertToCSV(jsonObject));    });

and a function ConvertToCSV

// JSON to CSV Converter        function ConvertToCSV(objArray) {            var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;            var str = '';            for (var i = 0; i < array.length; i++) {                var line = '';                for (var index in array[i]) {                    if (line != '') line += ','                    line += array[i][index];                }                str += line + '\r\n';            }            return str;        }

Source


Here is my solution

function arrayToCSV(objArray) {     const array = typeof objArray !== 'object' ? JSON.parse(objArray) : objArray;     let str = `${Object.keys(array[0]).map(value => `"${value}"`).join(",")}` + '\r\n';     return array.reduce((str, next) => {         str += `${Object.values(next).map(value => `"${value}"`).join(",")}` + '\r\n';         return str;        }, str); }

Example:

let arr = [{name: "Essa", age: 25}];console.log(arrayToCSV(arr));


Probably more elegant and the simplest solution

function convertToCSV(arr) {  const array = [Object.keys(arr[0])].concat(arr)  return array.map(it => {    return Object.values(it).toString()  }).join('\n')}console.log(  convertToCSV(    [      {        id: 1,        name: 'Foo',        timestamp: new Date()      },      {        id: 2,        name: 'Bar',        timestamp: new Date()      },      {        id: 3,        name: 'Baz',        timestamp: new Date()      }    ]  ))