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!