Pre-Laravel: JSON (y PHP)

JSON es un método legible para humanos de almacenar matrices y objetos con valores y cadenas. Se usa principalmente para transferir datos, y es mucho menos verboso que otras opciones como XML. Desde la versión 5.2.0, PHP ofrece soporte para serializar y deserializar datos de y hacia el formato JSON.

Serializando una matriz PHP a JSON

Para serializar un valor PHP solo necesitamos el método json_encode(). Tal que así:

$verdad = array('panda' => '¡Increible!');
echo json_encode($verdad);
/* 
/ Resultado:
/ {"panda": "¡Increible!"}
*/

Deserializando una matriz PHP desde una cadena JSON

Para ello usaremos el método json_decode(). ¡Uff! ¡Qué dificil!

$verdad = json_decode('{"panda": "¡Increible!"}');
echo $verdad['panda'];

Oh… wait!

Fatal error: Cannot use object of type stdClass as array

Esto se debe a que usa un objeto del tipo stdClass para representar nuestros datos. Solución, acceder a la clave como un atributo:

$verdad = json_decode('{"panda": "¡Increible!"}');
echo $verdad->panda;
// ¡Increible!

Si usamos true como segundo parámetro a la función, recibiremos la matriz PHP como esperábamos.

$verdad = json_decode('{"panda": "¡Increible!"}', true);
echo $verdad['panda'];
// ¡Increible!

 

Deja un comentario