Obtener un valor de un json con php

Iniciado por lucheano, 25 Noviembre 2017, 03:02 AM

0 Miembros y 1 Visitante están viendo este tema.

lucheano

Hola que tal, necesito acceder a un dato de un json, el json es mas o menos asi:
{"auto1":{"patente":"aaa000"}, "auto2":{"patente":"bbb111"}}


Necesito hacer un echo de la patente del auto 1

hasta ahora tengo esto:
$url = "http://filesusc.com/autos.json";
$array = @json_decode(file_get_contents($url))
;

Como continuo?
Muchas gracias!!!!

#!drvy

Por defecto, json_decode convierte el input en objeto. Si lo que buscas es un array, tienes que pasar como segundo parametro el valor true.

Código (php) [Seleccionar]
$autos = json_decode(file_get_contents($url));

echo $autos->auto1->patente;


Código (php) [Seleccionar]
$autos = json_decode(file_get_contents($url), true);

echo $autos['auto1']['patente'];



Saludos

lucheano

No me funcionó, están bien los indices? Gracias igual
me da HTTP ERROR 500

#!drvy

El codigo esta bien. El error 500 suele saltar cuando no tienes la directiva display_errors de PHP habilitada y se produce algún error.

Prueba con poner:
Código (php) [Seleccionar]
ini_set('display_errors', 'On');
error_reporting(E_ALL);


Al principio de tu PHP y vuelve a ejecutarlo.

Saludos

lucheano

Cita de: #!drvy en 25 Noviembre 2017, 04:28 AM
Por defecto, json_decode convierte el input en objeto. Si lo que buscas es un array, tienes que pasar como segundo parametro el valor true.

Código (php) [Seleccionar]
$autos = json_decode(file_get_contents($url));

echo $autos->auto1->patente;


Código (php) [Seleccionar]
$autos = json_decode(file_get_contents($url), true);

echo $autos['auto1']['patente'];


perdón, me funcionó perfecto, muchas gracias a los dos por las respuestas.
Unos fenomenos


Saludos