Foros del Web » Programando para Internet » Javascript »

añadir elemento a un fichero JSON

Estas en el tema de añadir elemento a un fichero JSON en el foro de Javascript en Foros del Web. Hola a todos/as, tengo esto: jsonLista.push({ id: identificador, literal: calle, edificios: {} }); me crea elementos con su identificador un nombre de calle y edificios ...
  #1 (permalink)  
Antiguo 28/04/2015, 04:04
Avatar de coloradocanyon  
Fecha de Ingreso: marzo-2009
Ubicación: Reino de Granada
Mensajes: 45
Antigüedad: 15 años, 8 meses
Puntos: 0
añadir elemento a un fichero JSON

Hola a todos/as, tengo esto:

jsonLista.push({ id: identificador, literal: calle, edificios: {} });

me crea elementos con su identificador un nombre de calle y edificios vacío.
la pregunta es muy simple, si quiero añadirle a cada calle varios edificios, ¿como lo hago?, es que no lo tengo muy claro.

un saludo y gracias....
  #2 (permalink)  
Antiguo 28/04/2015, 07:35
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: añadir elemento a un fichero JSON

Imposible si no sabemos qué framework/librería estás usando
  #3 (permalink)  
Antiguo 28/04/2015, 10:45
Avatar de 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

Etiquetas: elemento, fichero, js, json
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:02.