PHP | JsonSerializable jsonSerialize() Function
Last Updated :
27 Sep, 2019
Improve
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:
php
php
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);
?>
<?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);
?>
Output:
Program 2:
JSON elements: [ 1, 2, 3, 4, 5 ]
<?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);
?>
<?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);
?>
Output:
Reference: https://www.php.net/manual/en/jsonserializable.jsonserialize.php
Convert the array element into JSON: { "x": "geeks", "y": "for", "z": "geeks" }