2009-11-17 36 views
25

me gustaría tener objetos JavaScript dentro de otro objeto JavaScript como tal:objeto JavaScript para objeto 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... 

Por lo tanto, me gustaría "problemas" para mantener cada uno de estos objetos de JavaScript, por lo que yo sólo puedo decir Cuestiones [0] .name o Cuestiones [2] .ID, etc.

he creado los Asuntos exteriores JavaScript objeto:

var jsonIssues = {}; 

estoy hasta el punto en que necesita agregarle un objeto JavaScript, pero no sé cómo. Me gustaría poder decir:

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

¿Hay alguna manera de hacer esto? Gracias.

ACTUALIZACIÓN: por respuestas dadas, declaró una matriz, y estoy empujando objetos JavaScript en que sea necesario:

var jsonArray_Issues = new Array(); 

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

Gracias por las respuestas.

Respuesta

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

@jldupont, ¡gracias por la respuesta! No estaba pensando en términos de matrices cuando hice la pregunta. Pero esto tiene sentido. –

+0

@Mega Matt: es un placer. – jldupont

+0

esto funcionaría para el desvío también porque quería agregar el objeto en la primera posición. –

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

Si desea agregar a la matriz a continuación, puede hacer esto

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

O puede utilizar la técnica de empuje que el otro ha escrito, que también es bueno.

+0

¿Entonces, esencialmente, tendré una matriz de objetos JSON? –

+0

Creo que al OP también le gustaría saber cómo * agregar * objetos a lo que tiene. –

+0

Tendrás una matriz de objetos de JavaScript. JSON es solo una serialización que se ajusta a un subconjunto de JavaScript. – Quentin

3

Como mi primer objeto es un objeto JavaScript nativo (usado como una lista de objetos), push no funcionó en mi escenario, pero Resolví que mediante la adición de nueva clave de la siguiente manera:

MyObjList['newKey'] = obj; 

Además de esto, puede ser útil saber cómo eliminar mismo objeto insertado antes:

delete MyObjList['key'][id]; 

espero que ayude a alguien, ya que me ayudó ;

+1

Esta parece ser la mejor respuesta técnica a la pregunta original de la operación. – captainrad