La función JsonSerializable::jsonSerialize() es una función incorporada en PHP que se usa para serializar el objeto JSON a un valor que se puede serializar de forma nativa usando la función json_encode().
Sintaxis:
mixed JsonSerializable::jsonSerialize( void )
Parámetros: Esta función no acepta ningún parámetro.
Valor devuelto: esta función devuelve los datos serializados por la función json_encode().
Los siguientes programas ilustran la función JsonSerializable::jsonSerialize() en PHP:
Programa 1:
<?php class vector implements JsonSerializable { public function __construct(array $arr) { $this->array = $arr; } public function jsonSerialize() { return $this->array; } } // Declare an array $arr = [1, 2, 3, 4, 5]; echo("JSON elements:\n"); // Convert the array element into JSON echo json_encode(new vector($arr), JSON_PRETTY_PRINT); ?>
Producción:
JSON elements: [ 1, 2, 3, 4, 5 ]
Programa 2:
<?php class vector implements JsonSerializable { public function __construct(array $arr) { $this->array = $arr; } public function jsonSerialize() { return $this->array; } } // Declare an array $arr = [ "x" => "geeks", "y" => "for", "z" => "geeks" ]; echo("Convert the array element into JSON:\n"); // Convert the array element into JSON echo json_encode(new vector($arr), JSON_PRETTY_PRINT); ?>
Producción:
Convert the array element into JSON: { "x": "geeks", "y": "for", "z": "geeks" }
Referencia: https://www.php.net/manual/en/jsonserializable.jsonserialize.php