我正在循环将数组的数组转换为对象,我使用逗号“”分割,但如果我的值有一些逗号,它也会被分割。例如:如果我的价值有一个日期2017年5月2日它实际上是一个单一的价值,但它是分裂为5月2日作为一个值和2017作为另一个值,所以,我的整个目标变得越来越.need帮助Array of Array to Json
我我正在阅读excel表格。我的输出是数组的数组。我需要将其转换为json对象。
var xls = require('excel');
describe('TransactionDetails-Excel', function() {
it('External Type G Tranasaction Details validation', function (done) {
xls('transactions.xlsx', function(err, data) {
if(err){
throw err;
}
else{
console.log(data);
console.log(JSON.stringify(convertToJSON(data)));
done();
}
});
function convertToJSON(array) {
var first = array[0].join();
var headers = first.split(',');
var jsonData = [];
for (var iterator_i = 1, length = array.length; iterator_i < length; iterator_i++){
var myRow = array[iterator_i].join();
var row = myRow.split(',');
var data = {};
for (var x = 0; x < row.length; x++){
data[headers[x]] = row[x];
}
jsonData.push(data);
}
return jsonData;
}
});
});
Excel表:transactions.xlsx click here to view screenshot of excel sheet
输出:数据
[ [ 'Transaction Id', 'Paid ', 'Time Created' ],
[ '0YC0',
'Joe\'s Generic Business \[email protected]',
'Mar 2, 2012 14:28:36 PST' ],
[ '8uyhr', '[email protected]', 'May 2, 2015 15:20:20 PST' ],
[ '786YUH', '[email protected]', 'May 18, 2017 13:20:30 PST' ] ]
输出://这是我所得到的
[{"Transaction Id":"0YC0","Paid ":"Joe's Generic Business \[email protected]","Time Created":"Mar 2","undefined":" 2012 14:28:36 PST"},
{"Transaction Id":"8uyhr","Paid ":"[email protected]","Time Created":"May 2","undefined":" 2015 15:20:20 PST"},
{"Transaction Id":"786YUH","Paid ":"[email protected]","Time Created":"May 18","undefined":" 2017 13:20:30 PST"}]
但最终目标应该是:
[{"Transaction Id":"0YC0","Paid ":"Joe's Generic Business \[email protected]","Time Created":"Mar 2, 2012 14:28:36 PST"},
{"Transaction Id":"8uyhr","Paid ":"[email protected]","Time Created":"May 2, 2015 15:20:20 PST"},
{"Transaction Id":"786YUH","Paid ":"[email protected]","Time Created":"May 18, 2017 13:20:30 PST"}]
在此先感谢。
看到这个https://stackoverflow.com/questions/22917269/javascript-convert-two-dimensional-array -to-array-of-objects-using-the-first-r – barbsan
为什么使用'join()'然后是'split()'。在join之前直接使用数组,它会正常工作。 –