JsonSerializable::jsonSerialize

JsonSerializable::jsonSerialize

(PHP 5 >= 5.4.0, PHP 7)

JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON

Description

abstract public mixed JsonSerializable::jsonSerialize ( void )

Serializes the object to a value that can be serialized natively by json_encode().

Parameters

This function has no parameters.

Return Values

Returns data which can be serialized by json_encode(), which is a value of any type other than a resource.

Examples

Example #1 JsonSerializable::jsonSerialize() example returning an array

<?php class ArrayValue implements JsonSerializable {     public function __construct(array $array) {         $this->array = $array;     }     public function jsonSerialize() {         return $this->array;     } } $array = [1, 2, 3]; echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT ?>

The above example will output:

[ 1, 2, 3 ]

Example #2 JsonSerializable::jsonSerialize() example returning an associative array

<?php class ArrayValue implements JsonSerializable {     public function __construct(array $array) {         $this->array = $array;     }     public function jsonSerialize() {         return $this->array;     } } $array = ['foo' => 'bar', 'quux' => 'baz']; echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT ?>

The above example will output:

{ "foo": "bar", "quux": "baz" }

Example #3 JsonSerializable::jsonSerialize() example returning an integer

<?php class IntegerValue implements JsonSerializable {     public function __construct($number) {         $this->number = (integer) $number;     }     public function jsonSerialize() {         return $this->number;     } } echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT ?>

The above example will output:

1

Example #4 JsonSerializable::jsonSerialize() example returning a string

<?php class StringValue implements JsonSerializable {     public function __construct($string) {         $this->string = (string) $string;     }     public function jsonSerialize() {         return $this->string;     } } echo json_encode(new StringValue('Hello!'), JSON_PRETTY_PRINT ?>

The above example will output:

"Hello!"

← JsonSerializable

JSON Functions →

© 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

https://secure.php.net/manual/en/jsonserializable.jsonserialize.php