Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/04/2015, 10:45
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: añadir elemento a un fichero JSON

Como jsonLista es un array (por el uso del método push), tendrías que recorrerlo y buscar al objeto cuyo id sea igual al del objeto al se desea añadir edificios y una vez hallado, los añades, aunque pienso que sería mejor que la propiedad edificios sea un array.

Código Javascript:
Ver original
  1. var jsonLista = [],
  2.     add = function (identificador, calle){ //Función para añadir objetos
  3.         jsonLista.push({
  4.             id: identificador,
  5.             literal: calle,
  6.             edificios: []
  7.         });
  8.     },
  9.     edit = function(identificador, buildings){ //Función para añadir edificios
  10.         for (var i = 0, l = jsonLista.length; i < l; i++){
  11.             if (jsonLista[i].id == identificador){ //Cuando se halle al objeto
  12.                 for (var j = 0, m = buildings.length; j < m; j++){
  13.                     jsonLista[i].edificios.push(buildings[j]); //Le añado cada edificio
  14.                 }
  15.                 break; //Y salgo del bucle
  16.             }
  17.         }
  18.     };
  19.  
  20. //Creo objetos con sus identificadores y calles y los añado al array jsonLista
  21. add("Foo", "Calle Foo");
  22. add("Bar", "Calle Bar");
  23. add("Bin", "Calle Bin");
  24. add("Baz", "Calle Baz");
  25.  
  26. //Envío los identificadores de los objetos a editar junto al conjunto de edificios en un array
  27. edit("Bar", ["Edificio Bar 1", "Edificio Bar 2"]);
  28. edit("Bin", ["Edificio Bin 1", "Edificio Bin 2", "Edificio Bin 3"]);
  29. edit("Bin", ["Edificio Bin 4", "Edificio Bin 5"]);

Y, del mismo modo, puedes añadir, editar, eliminar y listar propiedades de cada objeto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 28/04/2015 a las 10:53 Razón: Mejora