2009-07-01 10 views
6

Moim celem jest uzyskanie tablicy json jak ten:json array: Jak tworzyć nowe elementy tablicy?

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

Jak mogę uzyskać poniższy kod do budowania tablicę jak powyżej jednego?

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

Stosując metody dostarczania I w końcu o zapis json jak ten:

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

Odpowiedz

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

Składnia patrzy ci prosto w twarz! –

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

... jest tablicą w której każdy element jest associated- array (= hash, = object).

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

... wciskasz (pod-) Array do macierzy nadrzędnej. To nie to samo, co tablica asocjacyjna. Masz teraz heterogeniczną tablicę.

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

... To powoduje przeniesienie skojarzonej tablicy do tablicy najwyższego poziomu. To jest to, czego chcesz. Luca ma rację.

+0

dziękuję za miłe wyjaśnienie .... –

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

proszę dowiedzieć się, jak sformatować kod (w górnym rogu pola wprowadzania znajduje się znak zapytania :-) – kleopatra

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