javascript que almacena el valor clave dentro del objeto

Tengo algunas cadenas json que se ven así:

var TheJson = "{Key:[array of objects]}"

La clave es en realidad una fecha y el json contiene matrices de objetos. Quiero agregar este objeto a otro objeto. HistoryOfData, algo así como el .push método en arreglos. Básicamente, quiero el HistoryOfData object para tener objetos anidados de valor clave donde las claves son fechas y los valores son matrices de datos.

¿Cómo empujo un objeto dentro de otro objeto?

preguntado el 11 de junio de 12 a las 19:06

La cadena JSON tendría que analizarse primero en un objeto real. (ver JSON.parse). -

@JamesMcLaughlin: de hecho, pero una vez que tengo el objeto de json, ¿cómo lo envío a HistoryOfData? -

2 Respuestas

Simplemente colóquelos en el nuevo objeto. Ejemplo:

var json1 = '{"06/08/2012": [{}, {"x": 1}, {"y": 2}, {"x": 3, "y": 4}]}';
var json2 = '{"06/10/2012": [{}, {"x": 5}, {"y": 6}, {"x": 7, "y": 8}]}';
var new_obj = {}, temp;

temp = JSON.parse(json1);
for(key in temp)
    new_obj[key] = temp[key];

var temp = JSON.parse(json2);
for(key in temp)
    new_obj[key] = temp[key];

console.log(new_obj); // Has two keys, each key is a date 
                      // and the values are Arrays of objects

Respondido el 11 de junio de 12 a las 19:06

for(var key in JSON.parse(TheJson)) {
  HistoryOfData[key] = TheJson[key]
}

JSON.parse es necesario si TheJson realmente sigue siendo una cadena y aún no se ha convertido en un objeto JS.

Respondido el 11 de junio de 12 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.