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
