Ver Mensaje Individual
  #14 (permalink)  
Antiguo 26/04/2016, 01:14
wil32
 
Fecha de Ingreso: abril-2016
Mensajes: 30
Antigüedad: 8 años
Puntos: 2
Respuesta: Problema al leer un JSON con PHP

Cita:
Iniciado por Rodrhigo Ver Mensaje
Tampoco se porque $datos["data"]["quests"][$i]["rewards"] te imprime un string cuando debería estar en formato Json.

Prueba esto:
$datos = json_decode($leer,true,768);

Sino funciona cambia esto:
echo "La variable $nombre tiene un valor de $valor<br>";

por esto:
$datos["data"]["quests"][$i]["rewards"][$nombre] = $valor.


Y no tendrías que asignar a ninguna variable más porque ya estarían en una variable..

Para insertar en una base de datos tendrías que abrir un hilo nuevo especificando la BD o buscar por internet que hay muchos ejemplos y como te digo las variables ya la tienes
($datos["data"]["quests"][XXXXXX]["rewards"]["coin"]) es solo insertar.

Eso, hasta aquí llego. Saludos
Hice lo que dijiste, pero no funcionó. De todas formas seguí de forma constante estudiando el código y por fin logré lo que quería. La solución fue esta:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $leer = file_get_contents("data2.json");
  4. $datos = json_decode($leer,true);
  5.  
  6. for($i=0;$i<=38;$i++)
  7.  
  8. {
  9.  
  10. $rewards = $datos["data"]["quests"][$i]["rewards"];
  11. $datos2 = json_decode($rewards,true);
  12.  
  13. echo $datos2["coins"]."<br>";
  14.  
  15. }

De esa forma pude obtener los datos que quería. Asique, una vez ese paso dado, me puse a almacenar los datos en variables.

Código PHP:
Ver original
  1. $xp = $datos2["xp"];
  2. $mon = $datos2["coins"];

Ya lo que hice a continuación, no es relevante para el tema.

Muchas gracias por vuestra ayuda. *-*