Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como leer JSON con php

Estas en el tema de Como leer JSON con php en el foro de PHP en Foros del Web. Buenas, estoy necesitando hacer una integracion con deezer, un porta del musica. Los datos que necesito captar estan aca: http://api.deezer.com/2.0/search?q=eminem Pero no me sale, estoy ...
  #1 (permalink)  
Antiguo 29/06/2013, 15:06
 
Fecha de Ingreso: julio-2012
Ubicación: Asunción
Mensajes: 54
Antigüedad: 11 años, 9 meses
Puntos: 3
Pregunta Como leer JSON con php

Buenas, estoy necesitando hacer una integracion con deezer, un porta del musica.

Los datos que necesito captar estan aca:
http://api.deezer.com/2.0/search?q=eminem

Pero no me sale, estoy tratando de armar un listado de ids con php, para cada una de las musicas que tiene el enlace de arriba.. pero no se como, soy nuevo en esto y no estoy seguro de que sea JSON tampoco, les paso el codigo que uso.

Código PHP:
Ver original
  1. <?php
  2. $str_datos = file_get_contents("http://api.deezer.com/2.0/search?q=eminem");
  3. $datos = json_decode($str_datos,true);
  4.  
  5.  
  6. foreach($datos->data["id"] as $valor){
  7.     echo "id= ".$valor."<br>";
  8. }
  9. ?>

En mi mundo ideal, me gustaria que salga algo asi:
- id= 132456
- id= 123566
- id= 912384
....
...
Dependiendo de la cantidad de registros que contenga el enlace de arriba.

Agradecería su ayuda, saludos.
__________________
--
What is real? How do you define real?
If real is what you can feel, smell, taste and see, then real is simply electrical signals interpreted by your brain.
  #2 (permalink)  
Antiguo 29/06/2013, 17:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como leer JSON con php

La función var_dump() te ayuda a saber el contenido de una variable y tal vez te puedas orientar sobre cómo recorrer los datos al ver la estructura:

Código PHP:
Ver original
  1. var_dump($datos);
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/06/2013, 20:57
 
Fecha de Ingreso: julio-2012
Ubicación: Asunción
Mensajes: 54
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Como leer JSON con php

Logre solucionarlo, dejo la solución por si alguien necesite algún día.

Despues de mucho usar var_dump y tener un chorizo de datos desordenados, cambie el codigo por esto:

Código PHP:
Ver original
  1. $data = file_get_contents('http://api.deezer.com/2.0/search?q=eminem');
  2. $json = json_decode($data);
  3. print '<pre>';
  4. print_r($json);
  5. print '</pre>';

Entonces me doy cuenta de que en realidad hay datos que so arrays en si, como era el caso de "data", entonces primero hago un foreach de data y queda algo como:

Código PHP:
Ver original
  1. foreach ($json->data as $rs){ ..... }

Y luego para imprimir el resultado

Código PHP:
Ver original
  1. foreach ($json->data as $rs){
  2. echo $rs->id;
  3. }

Y con eso, todo se soluciona =)
__________________
--
What is real? How do you define real?
If real is what you can feel, smell, taste and see, then real is simply electrical signals interpreted by your brain.
  #4 (permalink)  
Antiguo 15/08/2013, 20:58
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Respuesta: Como leer JSON con php

me sale este error:

Warning: Invalid argument supplied for foreach()

Cita:
$data = file_get_contents('http://www.sddddddddddd.org/index.php/clientes');
$json = json_decode($data);

foreach ($json as $rs){
echo $rs->IDCLIENTE;
}
  #5 (permalink)  
Antiguo 16/08/2013, 23:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como leer JSON con php

richardinj, no tienes validaciones, entonces no puedes saber dónde está el error:

Código PHP:
Ver original
  1. $data = file_get_contents('http://www.sddddddddddd.org/index.php/clientes');
  2. if($data === false) {
  3.        die('No se pudo leer el documento.');
  4. }
  5. $json = json_decode($data);
  6. if($json === null) {
  7.        die('Los datos obtenidos no tienen un formato json:<br /><pre>' . $data);
  8. }
  9.  
  10. foreach ($json as $rs){
  11.       echo $rs->IDCLIENTE;
  12. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: 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 12:00.