2009-07-01 73 views
6

我的目標是獲得一個JSON數組像這樣的:json數組:如何創建新的數組元素?

var args = [{ name: 'test', value: 1 }, { key: 'test2', value: 2}]; 

我怎樣才能獲得下面的代碼建立像上面的一個數組?

this.dependentProperties = []; //array 
function addDependentProperty(depName, depValue) {  
    dependentProperties.push(new Array(depName, depValue)); 
} 

通過使用推送方法我最終具有JSON符號像這樣的:

args:{[["test1",1],["test2",2]]} 

回答

28
dependentProperties.push({name: depName, value: depValue}); 
+2

語法盯着你的臉吧! – 2009-07-01 03:13:03

8
var args = [{ name: 'test', value: 1 }, { key: 'test2', value: 2}]; 

...這是一個陣列,其中每個元素是一個associated-數組(=散列,=對象)。

dependentProperties.push(new Array(depName, depValue)); 

...您正在將一個(子)數組推入父數組中。這與關聯數組不一樣。你現在有一個異構數組。

dependentProperties.push({name: depName, value: depValue}); 

...這是推送關聯數組到您的頂級數組。這是你想要的。盧卡是正確的。

+0

感謝您的很好的解釋.... – 2009-07-01 03:54:24

0
var myarray = []; 
var myJSON = ""; 

for (var i = 0; i < 10; i++) { 

    var item = { 
     "value": i, 
     "label": i 
    }; 

    myarray.push(item); 
} 

myJSON = JSON.stringify({myarray: myarray}); 
+0

請學習如何格式化代碼(在輸入框的尾部上角有一個問號:-) – kleopatra 2013-09-28 08:04:29

1
newObject = { 
"first": "John", 
"last": "Doe", 
"age": 39, 
"sex": "M", 
"salary": 70000, 
"registered": true, 
"interests": [ "Reading", "Mountain Biking", "Hacking" ] 
}