Това, което се опитвам да направя, е да създам обектен литерал в движение с динамични свойства.
Имам масив, съдържащ съдържанието (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 - person zerkms   schedule 03.08.2012objJSON.eval(parameters[k]);
- person dqhendricks   schedule 03.08.2012