Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Problema datos JSON a tabla

Estas en el tema de Problema datos JSON a tabla en el foro de HTML en Foros del Web. Hola, Estoy teniendo problemas para cargar los datos de un archivo .json que tengo dentro del proyecto. Parece como que no me lo reconoce como ...
  #1 (permalink)  
Antiguo 04/04/2016, 13:21
 
Fecha de Ingreso: marzo-2014
Mensajes: 41
Antigüedad: 10 años, 1 mes
Puntos: 0
Problema datos JSON a tabla

Hola,
Estoy teniendo problemas para cargar los datos de un archivo .json que tengo dentro del proyecto. Parece como que no me lo reconoce como array o algo pasa. Si le pongo datos.listaPersonas no entra al for porque length no esta definido, si solo le asigno datos mete en la tabla 18 "undefined" a pesar que el array es solo de 4 personas.


Código Javascript:
Ver original
  1. function inicializar(datos){
  2.     var listaObj = datos.listaPersonas;
  3.     var refTabla = document.getElementById("tablaDatos");
  4.    
  5.     if (refTabla) {
  6.         for (i = 0; i < listaObj.length; i++) {
  7.             var nuevaFila = refTabla.insertRow(-1);
  8.             var nuevaCelda;
  9.  
  10.             nuevaCelda = nuevaFila.insertCell(-1);
  11.             nuevaCelda.innerHTML = listaObj[i].id;
  12.  
  13.             nuevaCelda = nuevaFila.insertCell(-1);
  14.             nuevaCelda.innerHTML = listaObj[i].Apellido;
  15.            
  16.             nuevaCelda = nuevaFila.insertCell(-1);
  17.             nuevaCelda.innerHTML = listaObj[i].Nombre;
  18.         }
  19.     }
  20. }



Archivo.json:

Código:
   {
    "listaPersonas":[
        {"id":"123456","Apellido":"Gonzalez","Nombre":"Juan Ignacio"},
        {"id":"12312","Apellido":"Ventura","Nombre":"Jose"},
        {"id":"213213","Apellido":"Salas","Nombre":"Maria"},
        {"id":"56777756","Apellido":"Jofrey","Nombre":"Luis"}
    ]
   }


EDIT:
Solucionado
, el problema es que me faltaba el loadJSON y despues JSON.parse()
Asi queda:

Código Javascript:
Ver original
  1. function inicializar(datos){
  2.     loadJSON(inicializar, datos);
  3.     var a=JSON.parse(datos);
  4.     var listaObj = a.listaPersonas;
  5.     var refTabla = document.getElementById("tablaDatos");
  6.    
  7.     if (refTabla) {
  8.         for (i = 0; i < 4; i++) {
  9.             var nuevaFila = refTabla.insertRow(-1);
  10.             var nuevaCelda;
  11.  
  12.             nuevaCelda = nuevaFila.insertCell(-1);
  13.             nuevaCelda.innerHTML = listaObj[i].id;
  14.  
  15.             nuevaCelda = nuevaFila.insertCell(-1);
  16.             nuevaCelda.innerHTML = listaObj[i].Apellido;
  17.            
  18.             nuevaCelda = nuevaFila.insertCell(-1);
  19.             nuevaCelda.innerHTML = listaObj[i].Nombre;
  20.         }
  21.     }
  22. }


Código Javascript:
Ver original
  1. function loadJSON(callback, jsonFile) {
  2.     var xobj = new XMLHttpRequest();
  3.     xobj.overrideMimeType("application/json");
  4.  
  5.     xobj.open('GET', jsonFile, true);
  6.  
  7.     xobj.onreadystatechange = function () {
  8.         if (xobj.readyState === 4 && xobj.status === 200) {
  9.             callback(xobj.responseText);
  10.         }
  11.     };
  12.     xobj.send(null);
  13. }

Última edición por newb; 04/04/2016 a las 17:14

Etiquetas: javascript, 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 18:03.