當前位置: 首頁> 函數類別大全> JsonSerializable::jsonSerialize

JsonSerializable::jsonSerialize

指定需要被序列化成JSON 的數據
名稱:JsonSerializable::jsonSerialize
分類:JSON
所屬語言:php
一句話介紹:序列化一個實現了JsonSerializable 接口的對象

函數: JsonSerializable::jsonSerialize()

適用版本: PHP 5 >= 5.4.0, PHP 7

用法: JsonSerializable::jsonSerialize() 方法用於序列化一個實現了JsonSerializable 接口的對象。當對像被編碼為JSON 格式時,該方法會被自動調用。

示例:

 class MyObject implements JsonSerializable { private $data; public function __construct($data) { $this->data = $data; } public function jsonSerialize() { return $this->data; } } $obj = new MyObject(array('foo' => 'bar', 'baz' => 'qux')); echo json_encode($obj);

輸出:

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

在上面的示例中,我們定義了一個名為MyObject的類,並實現了JsonSerializable接口。該接口只有一個方法jsonSerialize() ,用於返回需要被序列化為JSON 的數據。

jsonSerialize()方法中,我們簡單地返回了對象的$data屬性。

然後,我們創建了一個MyObject的實例,並將一個關聯數組作為構造函數的參數。

最後,我們使用json_encode()函數將該對象編碼為JSON 字符串,並將其輸出。

結果是一個包含了$data屬性的JSON 對象: {"foo":"bar","baz":"qux"}

請注意,當對像被編碼為JSON 時, jsonSerialize()方法會自動被調用,以提供需要被序列化的數據。這意味著你無需手動調用該方法。

同類函數
熱門文章