I am trying to convert a JSON object to CSV with JavaScript, but I am not getting the expected results.
EDIT: My JSON object is stored in a variable, so every time i access 'list', it comes out undefined. Is there a way I can access the list through a variable?
This is my JSON object:
{
"type": "success",
"message": "success",
"list": [
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "testMendoza",
"CocNumber": "1000000001",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 1
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "ff",
"CocNumber": "1000000002",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 2
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "c",
"CocNumber": "1000000003",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 3
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000004",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 4
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000005",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 5
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000006",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 6
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000007",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 7
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000008",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 8
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000009",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 9
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000010",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 10
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000011",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 11
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000012",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 12
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000013",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 13
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000014",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 14
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000015",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 15
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000016",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 16
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000017",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 17
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000018",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 18
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000019",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 19
},
{
"ExtensionData": {},
"Address": "Baler",
"fld_test": "test",
"CocNumber": "1000000020",
"CustomerName": "test",
"IssueDate": "\\/Date(1584892800000)\\/",
"ProductName": "testProd",
"TransactionId": 20
}
],
"totalPage": 0
}
I have tried with the following JavaScript function, but the CSV comes out empty:
function ConvertToCSV(objArray) {
alert("start json to csv conversion");
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;
}
The JSON code is valid according to online formatters, so is there something wrong with the JavaScript?