Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2016, 13:21
newb
 
Fecha de Ingreso: marzo-2014
Mensajes: 41
Antigüedad: 10 años, 2 meses
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