2016-02-21 2 views
0

Я пытаюсь создать объект json в javascript, содержащий динамические значения. Мне нужно передать этот объект JSON на сервер через вызов AJAX. Но я не могу добавить динамические значения.Добавить динамические значения ключа в объект JSON

var finalJSONObj={}; 
for loop(int i = 0; i<10;i++){ 
    // gets the values of rows i need to add .. 
    var taskValue = tasks[i]; // need to add this in the JSON Object 
} 

Мой последний объект JSON должен выглядеть следующим образом:

finalJSONObj = { 
    tasks1: 'taskValue', 
    tasks2: 'taskValue', 
    tasks3: 'taskValue', 
    tasks4: 'taskValue', 
    userId: 'abcd', 
    date: '23/09/2016' 
}; 

нужно добавить «taskValue» извлеченный из цикла для каждой задачи в объект JSON. Есть предположения?

+0

Вы знаете, как добавить '' key'/value' пару в объект JavaScript? Пожалуйста, обратитесь к [this] (http://stackoverflow.com/a/1168814/427146) – sabithpocker

ответ

-1

Вы делаете это неправильно. В forloop просто изменить этот синтаксис

var finalJSONObj={}; 
    for loop(int i = 0; i<10;i++){ 
    // gets the values of rows i need to add .. 
    finalJSONObj['task'+ (i + 1)] = tasks[i]; // need to add this in the JSON Object 
} 

Здесь ключ будет задание + я, который будет task1, task2 и т.д., и значение будет отображаться в этом ключ от вашего массива задач.

+0

Это прекрасно работает! :) Я наконец получил результаты, итерации через request.getParameterValues ​​() в моем сервлете. Благодаря тонну! :) – skylark

+0

Всегда рад помочь :) yw –

+0

Это не сработает, так как '' task '+ i + '1 будет оценивать' task01', 'task11' и т. Д. (Он сгруппирован как' (' task '+ i) + 1'). –

1

Как насчет:

var finalJSONObj={}; 
for (var i = 0; i<tasks.length; i++) { 
    finalJSONObj[('tasks' + (i+1))] = tasks[i]; 
} 
+0

Спасибо! Прекрасно работает! :) – skylark

Смежные вопросы