2016-02-21 75 views
0

我想在包含動態值的javascript中創建一個json對象。我需要通過AJAX調用將此JSON對象傳遞給服務器。但我無法添加動態值。將動態鍵值添加到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」 從檢索到的for循環中的JSON對象中的每個任務。有什麼想法嗎?

+0

你知道如何'key' /'value'對添加到Javascript對象?請參閱[本](http://stackoverflow.com/a/1168814/427146) – sabithpocker

回答

-1

你做錯了。 在for循環只是改變這句法

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

這工作正常! :)我終於得到了迭代servserv中的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