json_decode ¿Objeto o array?

Si has usado json_decode alguna vez sabrás que esta función nos convierte una cadena que viene en formato json en un objeto:

$json = '{"nombre": "Gorka", "conocimientos": {"java":"algo", "go": "aprendiendo", "c": "alto", "python": "alto", "php":"master and commander"}}';

// Así se convierte en un objeto:
$objetoJson = json_decode($json);
print_r($objetoJson);

Y el resultado sería:

stdClass Object
(
    [nombre] => Gorka
    [conocimientos] => stdClass Object
        (
            [java] => algo
            [go] => aprendiendo
            [c] => alto
            [python] => alto
            [php] => master and commander
        )

)

Pero pasando el segundo parámetro a ‘true’ nos va a convertir el json en un array:

// Y así en un array:
$arrayJson = json_decode($json, true);
print_r($arrayJson);

De esta forma tendríamos un array:

Array
(
[nombre] => Gorka
[conocimientos] => Array
(
[java] => algo
[go] => aprendiendo
[c] => alto
[python] => alto
[php] => master and commander
)

)

Puedes verlo en acción aquí: Ejemplo de json_decode en PHP.

NOTA: Si pronuncias json como «lleison» te puede pasar como a nuestro elefantito de la imagen.


¿Sabes lo que es el reto de PHP?

He creado el PHP Journey, una plataforma para que recibas de forma gratuita un email cada día con una pequeña perla de sabiduría de PHP y una pregunta que deberás responder.

Cada día pones a prueba tus conocimientos y aprendes algo nuevo.

Apúntate aquí:

https://urlantools.urlanheat.com/newsletter/php-journey/subscribe


Deja un comentario