HomeLanguagesPHP | JsonSerializable jsonSerialize() Function

PHP | JsonSerializable jsonSerialize() Function

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); 
  
?> 


Output:

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); 
  
?> 


Output:

Convert the array element into JSON:
{
    "x": "neveropen",
    "y": "for",
    "z": "neveropen"
}

Reference: https://www.php.net/manual/en/jsonserializable.jsonserialize.php

RELATED ARTICLES

Most Popular

Dominic
32548 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6922 POSTS0 COMMENTS
Nicole Veronica
12039 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12144 POSTS0 COMMENTS
Shaida Kate Naidoo
7059 POSTS0 COMMENTS
Ted Musemwa
7300 POSTS0 COMMENTS
Thapelo Manthata
7016 POSTS0 COMMENTS
Umr Jansen
7005 POSTS0 COMMENTS