我正在尝试的是使用动态属性随时创建对象文字。从CSV动态创建对象
我有一个包含文件内容(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意思是对象字面,所以我纠正了这个问题。我没有修改这个函数,所以我不会在代码中错误地添加错误。
这不是'JSON',它只是一个javascript对象 – zerkms 2012-08-02 22:58:08
对不起,我误解了这个词。我编辑了我的问题。 – 2012-08-02 23:02:49
JSON是一个表示javascript对象的字符串。你想用这条线完成什么? 'objJSON.eval(parameters [k]);' – dqhendricks 2012-08-02 23:06:18