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.