Codificación y decodificación de datos JSON en PHP

Volver atrás

Publicado por |

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);

PHP jsonencodedecodedatosapi

Programación

Redes sociales

Twitter BrainumGoogle Plus BrainumFacebook Brainum


Política de privacidad