我正在尝试做的是动态创建一个具有动态属性的对象文字。
我有一个包含文件内容(CSV 格式)的数组。
每个元素都是一行(内容用 分割/\r?\n/
)。
该数组的第一个元素(第一行)包含我想要用于对象文字的参数,以逗号分隔。
所有其他元素都是第一行中设置的参数的值(仍然是 CSV 格式)。
我目前拥有的代码如下:
function jsonDataArray(array) {
var jsonResult = [],
parameters = [],
values;
for(var i=0; i < array.length; i++) {
if(i === 0) {
var parameters = array[i].split(',');
var objJSON = {};
for(var k=0; k < parameters.length; k++) {
objJSON.eval(parameters[k]);
}
continue;
}
values = array[i].split(',')
for(var j=0; j < objJSON.length; j++) {
objJSON[j] = values;
}
jsonResult.push(objJSON);
}
return jsonResult;
}
现在,当我在节点中启动此代码时,该objJSON.eval(parameters[k])
行似乎是问题所在,但我无法解决问题。
所以基本上我的问题如下:
我应该如何继续将第一行中的参数设置为 JSON 对象的参数 + 填充其他行的值?
用这个解析新行是否安全:
/\r?\n/
?
预先感谢您的帮助 !
编辑:我错误地使用术语 JSON 来表示对象文字,所以我更正了这个问题。虽然我没有修改函数,所以我不会错误地在代码中添加错误。