当前位置: 首页> 函数类别大全> 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() 方法会自动被调用,以提供需要被序列化的数据。这意味着你无需手动调用该方法。

同类函数
热门文章