PHP y JSON
¿Qué es JSON?
JSON significa Notación de objetos de JavaScript y es una sintaxis para almacenar e intercambiar datos.
Dado que el formato JSON es un formato basado en texto, puede enviarse fácilmente hacia y desde un servidor y utilizarse como formato de datos por cualquier lenguaje de programación.
PHP y JSON
PHP tiene algunas funciones integradas para manejar JSON.
Primero, veremos las siguientes dos funciones:
- json_encode()
- json_decodificar()
PHP - json_encode ()
La función json_encode() se usa para codificar un valor en formato JSON.
Ejemplo
Este ejemplo muestra cómo codificar una matriz asociativa en un objeto JSON:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Ejemplo
Este ejemplo muestra cómo codificar una matriz indexada en una matriz JSON:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
PHP - json_decode ()
La función json_decode() se usa para decodificar un objeto JSON en un objeto PHP o una matriz asociativa.
Ejemplo
Este ejemplo decodifica datos JSON en un objeto PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
La función json_decode() devuelve un objeto de forma predeterminada. La función json_decode() tiene un segundo parámetro y, cuando se establece en verdadero, los objetos JSON se decodifican en matrices asociativas.
Ejemplo
Este ejemplo decodifica datos JSON en una matriz asociativa de PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
PHP - Acceso a los valores decodificados
Aquí hay dos ejemplos de cómo acceder a los valores decodificados desde un objeto y desde una matriz asociativa:
Ejemplo
Este ejemplo muestra cómo acceder a los valores de un objeto PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Ejemplo
Este ejemplo muestra cómo acceder a los valores de una matriz asociativa de PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
PHP - Bucle a través de los valores
También puede recorrer los valores con un bucle foreach() :
Ejemplo
Este ejemplo muestra cómo recorrer los valores de un objeto PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Ejemplo
Este ejemplo muestra cómo recorrer los valores de una matriz asociativa de PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>