Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] problemas al tratar datos json

Estas en el tema de problemas al tratar datos json en el foro de Javascript en Foros del Web. hola a todos, tengo un pequeño inconveniente, debo escribir algo de codigo php pero creo que este tema va en esta seccion, solo es para ...
  #1 (permalink)  
Antiguo 28/10/2013, 14:04
 
Fecha de Ingreso: junio-2012
Ubicación: colombia
Mensajes: 48
Antigüedad: 11 años, 11 meses
Puntos: 0
Exclamación problemas al tratar datos json

hola a todos, tengo un pequeño inconveniente, debo escribir algo de codigo php pero creo que este tema va en esta seccion, solo es para que tengan una idea de lo que estoy haciendo.
uso un framework php (laravel) en este tengo esta funcion:
Código PHP:
Ver original
  1. $dientes= Diente::all();//obtengo todos los registros de la tabla Diente
  2.         foreach ($dientes as $d) {
  3.             $arrayName = array('id' => $d->id,'nombre' => $d->nombre,'color' => $d->color);//creo un array solo con las claves que voy a utilizar
  4.         }
  5.         return Response::json($arrayName);//convierto a json y envío
en javascript tengo:
Código Javascript:
Ver original
  1. .done(function(data) {
  2.     var json = JSON.parse(data);
  3.         console.log(json.color, json.nombre);                  
  4.                 })
hasta alli todo funciona perfecto, se muestra en consola el el color y el nombre, el problema es que solo me muestra la ultima fila de la base de datos, asi que cambio el codigo php, en vez de retornar el array retorno la variable $diente asi:
Código PHP:
Ver original
  1. return Response::json($dientes);//convierto a json y envío
pero este condigo me muestra en consola undefined, no se porque ya que lo que se obtiene es un formato json valido:
Código json:
Ver original
  1. [
  2.     {
  3.         "id": "1",
  4.         "nombre": "aaaa",
  5.         "color": "rgb(109, 109, 153)",
  6.         "created_at": "2013-10-25 19:42:25",
  7.         "updated_at": "2013-10-25 19:42:25"
  8.     }
  9. ]
pero cuando retorno la variable $arrayName se quitan los corchetes y se retorna el siguiente formato:
Código json:
Ver original
  1. {
  2.     "id": "1",
  3.     "nombre": "aaaa",
  4.     "color": "rgb(109, 109, 153)"
  5. }
los dos los he validado en http://jsonlint.com/ y estan correctos, tal vez aparece undefined cuando utilizo la variable $dientes porque no se manejar el objeto tomado mediante javascript, espero haberme explicado.
De antemano gracias por las respuestas.
  #2 (permalink)  
Antiguo 28/10/2013, 14:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: problemas al tratar datos json

En el código número 4 tienes un array JSON aunque no le hayas puesto clave, así que deberías acceder con dientes[0]
  #3 (permalink)  
Antiguo 28/10/2013, 14:35
 
Fecha de Ingreso: junio-2012
Ubicación: colombia
Mensajes: 48
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: problemas al tratar datos json

Hola muchas gracias, ya lo solucione.
Debo acceder al dato de la siguiente forma:
Código Javascript:
Ver original
  1. console.log(json[0].id);

Etiquetas: funcion, js, json, php, variable
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 05:36.