2009-11-17 22 views
25

Chciałbym mieć obiekty JavaScript wewnątrz innego obiektu JavaScript jako takie:Dodaj obiekt JavaScript do obiektu JavaScript

Issues: 

    - {"ID" : "1", "Name" : "Missing Documentation", "Notes" : "Issue1 Notes"} 
    - {"ID" : "2", "Name" : "Software Bug", "Notes" : "Issue2 Notes, blah, blah"} 
    - {"ID" : "2", "Name" : "System Not Ready", "Notes" : "Issue3 Notes, etc"} 
    // etc... 

Więc chciałbym „issues” trzymać każdy z tych obiektów JavaScript, tak że mogę tylko powiedzieć, Issues [0] pola .Name, lub problemów [2] .ID itd

mam utworzoną zewnętrzne Problemy JavaScript obiektu:

var jsonIssues = {}; 

jestem do punktu, w którym trzeba dodać do niego obiekt JavaScript, ale nie wiem jak. Chciałbym móc powiedzieć:

Issues<code here>.Name = "Missing Documentation"; 
Issues<code here>.ID = "1"; 
Issues<code here>.Notes = "Notes, notes notes"; 

Czy jest jakiś sposób to zrobić? Dzięki.

UPDATE: Per odpowiedzi udzielonych oświadczył tablicę, i jestem popychanie JavaScript obiektów na miarę potrzeb:

var jsonArray_Issues = new Array(); 

jsonArray_Issues.push({ "ID" : id, "Name" : name, "Notes" : notes }); 

Dzięki za odpowiedzi.

Odpowiedz

39
var jsonIssues = []; // new Array 
jsonIssues.push({ ID:1, "Name":"whatever" }); 
// "push" some more here 
+0

@jldupont, Dzięki za odpowiedź! Nie myślałem w kategoriach tablic, gdy zadałem pytanie. Ale to ma sens. –

+0

@Mega Matt: moja przyjemność. – jldupont

+0

to działałoby na Unshift także dlatego, że chciałem dodać obiekt na pierwszej pozycji. –

8
var jsonIssues = [ 
{ID:'1',Name:'Some name',Notes:'NOTES'}, 
{ID:'2',Name:'Some name 2',Notes:'NOTES 2'} 
]; 

Jeśli chcesz dodać do tablicy, to możesz to zrobić

jsonIssues[jsonIssues.length] = {ID:'3',Name:'Some name 3',Notes:'NOTES 3'}; 

Albo można użyć techniki wypychania, że ​​inny facet pisał, który jest również dobre.

+0

Zasadniczo, będę mieć tablicę obiektów JSON? –

+0

Wierzę, że PO chciałby także wiedzieć, jak * dodawać * obiekty do tego, co posiadasz. –

+0

Będziesz mieć tablicę obiektów JavaScript. JSON jest serializacją, która jest zgodna z podzbiorem JavaScript. – Quentin

3

Jako mój pierwszy obiekt jest rodowitym javascript obiektu (używany jak lista obiektów), push nie działał w moim escenario, ale Postanowiłem go poprzez dodanie nowego klucza w następujący sposób:

MyObjList['newKey'] = obj; 

Oprócz tego, mogą być przydatne wiedzieć, jak usunąć sam obiekt wstawiony przed:

delete MyObjList['key'][id]; 

Mam nadzieję, że ktoś pomoże, jak bardzo mi pomógł ;

+1

Wydaje się to najlepszą techniczną odpowiedzią na oryginalne pytanie. – captainrad