2009-11-17 8 views
25

Je voudrais avoir des objets JavaScript dans un autre objet JavaScript en tant que tel:objet JavaScript pour objet 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... 

Alors, je voudrais « Questions » de tenir chacun de ces objets JavaScript, de sorte que Je peux juste dire questions [0] .name ou questions [2] .ID, etc.

J'ai créé les questions extérieures objet JavaScript:

var jsonIssues = {}; 

Je suis au point où je besoin d'ajouter un objet JavaScript, mais Je ne sais pas comment. Je voudrais être en mesure de dire:

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

Y at-il un moyen de le faire? Merci.

MISE À JOUR: Par réponses, a déclaré un tableau, et je suis JavaScript Faire glisser un objet au besoin:

var jsonArray_Issues = new Array(); 

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

Merci pour les réponses.

Répondre

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

@jldupont, Merci pour la réponse! Je ne pensais pas en termes de tableaux quand j'ai posé la question. Mais cela a du sens. –

+0

@Mega Matt: mon plaisir. – jldupont

+0

cela fonctionnerait pour unshift aussi parce que je voulais ajouter l'objet sur la première position. –

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

Si vous souhaitez ajouter au tableau, alors vous pouvez le faire

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

Ou vous pouvez utiliser la technique de poussée que l'autre gars affiché, ce qui est également bon.

+0

Donc essentiellement, je vais avoir un tableau d'objets JSON? –

+0

Je crois que le PO aimerait aussi savoir comment * ajouter * des objets à ce que vous avez. –

+0

Vous aurez un tableau d'objets JavaScript. JSON est juste une sérialisation qui se conforme à un sous-ensemble de JavaScript. – Quentin

3

Comme mon premier objet est un objet javascript natif (utilisé comme une liste d'objets), push ne fonctionnait pas dans mon escenario, mais Je résolus en ajoutant une nouvelle clé comme suit:

MyObjList['newKey'] = obj; 

En plus de cela, peut être utile de savoir comment supprimer un même objet inséré avant:

delete MyObjList['key'][id]; 

espère que cela aide quelqu'un comme il m'a aidé ;

+1

Cela semble être la meilleure réponse technique à la question originale de l'op. – captainrad