Extensiones JSON en PHP

Con los años, el formato de datos JSON se ha convertido en un formato de intercambio de datos predeterminado para REST. La simplicidad de JSON lo hizo bastante popular entre los desarrolladores de PHP. Fuera de la caja, el lenguaje PHP proporciona las funciones json_encode () y json_decode (). Usando estas funciones, podemos codificar fácilmente matrices PHP y objetos, así como decodificar varias estructuras JSON.

El siguiente ejemplo demuestra la simplicidad de usar la función json_encode ():

<?php
class User
{
public $name;
public $age;
public $salary;
}
$user = new User();
$user->name = 'John';
$user->age = 34;
$user->salary = 4200.50;
echo json_encode($user);
// {"name":"John","age":34,"salary":4200.5}
$employees = ['John', 'Mariya', 'Sarah', 'Marc'];
echo json_encode($employees);
// ["John","Mariya","Sarah","Marc"]

El siguiente ejemplo demuestra la simplicidad de usar la función json_decode ():

<?php
$user = json_decode('{"name":"John","age":34,"salary":4200.5}');
print_r($user);
// stdClass Object
// (
// [name] => John
// [age] => 34
// [salary] => 4200.5
// )

Aquí es donde entran en juego las limitaciones. Observe cómo el objeto JSON se convirtió en un objeto de tipo stdClass en PHP. No hay una forma directa de verter esto en un tipo de objeto Usuario. Podríamos, por supuesto, escribir una funcionalidad personalizada que intente convertir un objeto stdClass en una instancia de Usuario si es necesario.

Comparte