Convert JSON to CSV using jQuery
HTML
<span>JSON:</span>
<pre id="json"></pre>
<span>CSV:</span>
<pre id="csv"></pre>
CSS
body {
font-family: calibri;
}
span {
font-weight: bold;
margin-bottom: 5px;
font-size: 18px;
text-decoration: underline;
color: blue;
}
pre {
font-size: 14px;
}
JavaScript
var jData = '[{"fname":"Mark", "lname":"Wood", "company":"Apple"},' +
'{"fname":"Steve", "lname":"Jones", "company":"Amazon"},' +
'{"fname":"Bill", "lname":"Peterson", "company":"HP"},' +
'{"fname":"Peter", "lname":"Jacobs", "company":"Dell"}]';
var seperator = ',';
var tmpData = JSON.parse(jData);
var formattedJson = JSON.stringify(tmpData, null, '\t');
$('#json').html(formattedJson);
$('#csv').html(ConvertToCSV(jData, seperator));
function ConvertToCSV(jData, delimiter) {
var arrJSON = typeof jData != 'object' ? JSON.parse(jData) : jData;
var sReturnVal = '';
for (var i = 0; i < arrJSON.length; i++) {
var sLine = '';
for (var index in arrJSON[i]) {
if (sLine != '') sLine += delimiter;
sLine += arrJSON[i][index];
}
sReturnVal += sLine + '\r\n';
}
return sReturnVal;
}