我正在处理将表数组转换为JSON的函数,这是我的代码。我检查过strJSON是我想要的JSON格式,但它是一个字符串而不是一个JSON对象。当我尝试使用“eval”将其转换为JSON时,会出现一条错误消息,提示“Darren未定义”。我不知道发生了什么事。将表数组转换为JSON对象
var myArray=[["Name","Age","Gender"],["Darren",31,"Male"],["Gakki",25,"Female"]];
//expected output
var myJSON=[{"Name":"Darren","Age":31,"Gender":"Male"},{"Name":"Gakki","Age":25,"Gender":"Female"}];
function convertJSON(tableData){
var objJSON=[];
var strJSON=[];
tableData.forEach(function(rowData,i){
if (i==0){
rowData.forEach(function(cellData){
head.push(cellData);
});
}
else{
var objData=[];
var objEntry=[];
rowData.forEach(function(cellData,j){
objData=head[j] + ":" + cellData;
objEntry.push(objData);
});
strJSON.push("{" + objEntry + "}");
}
});
objJSON=eval("[" + strJSON + "]");
return objJSON
}
你没有的东西转换成JSON与EVAL,你可以使用'JSON.parse',你甚至都不需要做,在这一点,因为strJSON将JSON如果已经你做得对。 –