The JsonSerializable::jsonSerialize() function is an inbuilt function in PHP which is used to serialize the JSON object to a value that can be serialized natively by using json_encode() function.
Syntax:
mixed JsonSerializable::jsonSerialize( void )
Parameters: This function does not accept any parameters.
Return Value: This function returns the data which is serialized by json_encode() function.
Below programs illustrate the JsonSerializable::jsonSerialize() function in PHP:
Program 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); ?> |
JSON elements: [ 1, 2, 3, 4, 5 ]
Program 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" => "neveropen" , "y" => "for" , "z" => "neveropen" ]; echo ( "Convert the array element into JSON:\n" ); // Convert the array element into JSON echo json_encode( new vector( $arr ), JSON_PRETTY_PRINT); ?> |
Convert the array element into JSON: { "x": "neveropen", "y": "for", "z": "neveropen" }
Reference: https://www.php.net/manual/en/jsonserializable.jsonserialize.php