Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2013, 14:04
yamidvo
 
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.