Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Duda de como leer un JSON dinamico

Estas en el tema de Duda de como leer un JSON dinamico en el foro de Javascript en Foros del Web. Hola que tal, bueno una duda con respecto a un JSON. En el JSON tengo un campo que esta de la siguiente manera: valoresMostrar = ...
  #1 (permalink)  
Antiguo 24/06/2015, 11:59
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Duda de como leer un JSON dinamico

Hola que tal, bueno una duda con respecto a un JSON. En el JSON tengo un campo que esta de la siguiente manera:

valoresMostrar = [
{ nombre: "Pepe", materia: "Matematicas", calificacion1: "8", calificacion2: "9", calificacion3: "7" },
{ nombre: "Juan", materia: "Matematicas", calificacion1: "5", calificacion2: "6", calificacion3: "8" },
{ nombre: "Jose", materia: "Matematicas", calificacion1: "5", calificacion2: "5", calificacion3: "5" }
]

En este caso ocupo obtener el nombre y la calificación, pero se me ocurre dejarlo un poco mas dinamico, por si el día de mañana ponen una calificacion4 no tener que entrar a modificar el fuente y que solo se adapte al nuevo valor.

Yo pensaba en poner:

Código Javascript:
Ver original
  1. var JsonMostrar = [], j = 1;
  2.  
  3. for( i = 0; i <= data.response.registro.length; i++ )
  4. {
  5.   JsonMostrar.push( data.response.registro[i].materia + j );
  6. }

Pero me marca error al quere hacer eso ( El error es NaN ). Pense también en hacerlo de la siguiente manera:

Código Javascript:
Ver original
  1. var JsonMostrar = [], j = 1;
  2.  
  3. for( i = 0; i <= data.response.registro.length; i++ )
  4. {
  5.   JsonMostrar.push( data.response.registro[i].materia + j.toString() );
  6. }

Pero con eso me marca undefined la primera cadena.

Alguien me podría ayudar o bien indicar como poder resolver este problema.
__________________
Your Code as a Crime Scene...
  #2 (permalink)  
Antiguo 24/06/2015, 12:18
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Duda de como leer un JSON dinamico

Entonces data.response.registro[i].materia equivale a undefined. Eso significa que algo estás haciendo mal

Haz:

Código Javascript:
Ver original
  1. console.log(data.response);

Y mira cómo llega la respuesta.
  #3 (permalink)  
Antiguo 24/06/2015, 12:32
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Duda de como leer un JSON dinamico

Gracias por responder PHPeros.

En si, al poner:

data.response.registro[i].materia1; => Si me trae los valores correctamente.

Si pongo => data.response, nada mas veo el contenido sin problema.
__________________
Your Code as a Crime Scene...
  #4 (permalink)  
Antiguo 24/06/2015, 12:35
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Duda de como leer un JSON dinamico

¿Quizá sea ésto lo que quieres hacer?

Código Javascript:
Ver original
  1. data.response.registro[i]['materia' + j];
  #5 (permalink)  
Antiguo 24/06/2015, 12:58
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Duda de como leer un JSON dinamico

Gracias amigo, justo eso necesitaba hacer .

Abusando un poco de tu ayuda

Me podrias explicar esa parte, no la entiendo muy bien:

data.response.registro[i] => Esto si lo comprende, se que se tomara el valor que se tenga en el renglon o la posición i.

Pero al concatenar, no lo entiendo me refiero al poner ['materia' + j ]

Código Javascript:
Ver original
  1. data.response.registro[i]['materia' + j];

Gracias.
__________________
Your Code as a Crime Scene...
  #6 (permalink)  
Antiguo 24/06/2015, 13:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Duda de como leer un JSON dinamico

Cuando trabajas con objetos en JavaScript, puedes acceder a sus propiedades mediante dos tipos de notación:
  1. Por puntos: objeto.propiedad.
  2. Por corchetes: objeto[propiedad].

Lo que hace PHPeros en el ejemplo que te mostró es utilizar la segunda forma, la cual es útil para casos como este en los que el nombre de la propiedad es variable.

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
  #7 (permalink)  
Antiguo 24/06/2015, 13:26
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Duda de como leer un JSON dinamico

Ok, muchas gracias.
__________________
Your Code as a Crime Scene...

Etiquetas: dinamico, js, json, valor
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 12:57.