Publicado por Eduardo González Vaquero |
Introducción.
JSON es un formato para el intercambio de datos. Se denomina así debido a sus siglas: JavaScript Object Notation. Consigue su fama y su popularidad por ser un método ligero para crear APIS de datos, guardar ordenadamente información, dejando atrás al formato de etiquetas XML. Un ejemplo es el siguiente:
{ "data": { "group":"es93", "users":[ { "username":"Eduardo", "email":"example@hotmail.com" }, { "username":"Paco", "email":"example2@gmail.com" }, { "username":"Mariana", "email":"example3@yahoo.es" } ] } }
Manejar datos JSON con PHP.
Normalmente tendremos que leer algún documento web con formato .json, para ello existen varias opciones entre las que puedes encontrar la función file_get_contents(). Lo importante es conseguir guardar en una variable el texto/datos JSON que queremos manipular.
El ejemplo JSON de la introducción está publicado en esta dirección URL: http://www.brainum.es/content/uploads/dataExample.json. Obteniendo el documento podremos convertirlo a un array para manejarlo mejor con PHP.
$file = file_get_contents("http://www.brainum.es/content/uploads/dataExample.json"); $data = json_decode($file,true);
El segundo parámetro de la función json_encode() corresponde a cómo queremos convertirlo. Activado nos devolverá un conjunto de datos en un array, desactivado nos devolverá una StdClass. Utilizaremos arrays, y tendremos la siguiente variable $data:
Array ( [data] => Array ( [group] => es93 [users] => Array ( [0] => Array ( [username] => Eduardo [email] => example@hotmail.com ) [1] => Array ( [username] => Paco [email] => example2@gmail.com ) [2] => Array ( [username] => Mariana [email] => example3@yahoo.es ) ) ) )
Convertir un array a JSON.
Como seguramente habréis inducido, el paso contrario se consigue con la función json_encode(). El primer parámetro corresponderá al array o al objeto que queramos convertir a JSON.
$json = json_encode($data);