En este tutorial se verá como leer, interpretar y transformar el formato JSON en PHP. Para esto se hará uso de la función json_decode de la librería de PHP.
Lo primero que se debe hacer es crear un archivo, al cual en este caso se le ha llamado json.php y luego se le agregan las etiquetas de bloque de PHP.
<?php ?>
Se agrega una cadena que servirá como ejemplo de contenido en JSON y que se procederá a interpretar. Dicha cadena se alojará en una variable llamada $string. La cadena que sirve como contenido se escribe de acuerdo a las reglas de sintaxis de JSON.
<?php $string = '{"id":234,"name":"Kevin Campo","profession":"Engineer","knowledge":["php","html","actionscript"]}'; ?>
Para poder entender la cadena agregada se debe recordar lo siguiente:
- En JSON todo el contenido está encerrado entre llaves.
- Cada par de llaves de inicio y fin encierran las propiedades de un objeto.
- Dentro de las llaves se tienen pares clave-valor.
- La clave siempre está encerrada entre comillas simples o dobles, en PHP son equivalentes.
- El valor puede ser un número, cadena (encerrado entre comillas), arreglo (encerrado entre corchetes) u objeto (encerrado entre llaves).
Luego de obtener el contenido JSON, ya sea por haberlo agregado directamente u obtenido de un recurso externo, se hará uso de la función json_decode pasándole como parámetro la cadena recuperada y guardando el valor devuelto en otra variable, en este caso llamada $info.
<?php $string = '{"id":234,"name":"Kevin Campo","profession":"Engineer","knowledge":["php","html","actionscript"]}'; $info = json_decode($string); ?>
Ya teniendo el contenido interpretado se puede acceder a sus propiedades como si se tratara de un objeto cualquiera en PHP.
<?php $string = '{"id":234,"name":"Kevin Campo","profession":"Engineer","knowledge":["php","html","actionscript"]}'; $info = json_decode($string); echo $info->name." "; ?>
Para acceder a propiedades del tipo arreglo se tiene que hacer uso de los corchetes y el índice o clave del elemento que se busca obtener.
<?php $string = '{"id":234,"name":"Kevin Campo","profession":"Engineer","knowledge":["php","html","actionscript"]}'; $info = json_decode($string); echo $info->name." "; echo $info->knowledge[2]." "; ?>
Conocer como se interpreta el lenguaje JSON en PHP es importante para realizar múltiples tareas ya que muchas API y servicios web hacen uso de dicho formato para compartir información. Un ejemplo de esto se puede ver en la Graph API de Facebook. Para conocer más al respecto puedes acceder al tutorial ¿Cómo usar la Facebook Graph API para obtener la cantidad de “Me gusta” de una página?