JsonSerializable::jsonSerialize
指定需要被序列化成 JSON 的数据
PHP 5.4.0 及以上版本
该方法是PHP接口JsonSerializable中的一个方法。当一个类实现了JsonSerializable接口时,类的对象可以使用json_encode()函数进行编码。通过实现jsonSerialize方法,用户可以自定义对象在序列化为JSON时的行为。
public jsonSerialize();
该方法没有任何参数。
返回一个可以被JSON编码的值。通常是一个数组或对象。
以下是一个简单示例,展示如何实现JsonSerializable接口,并自定义对象序列化。
public function __construct($name, $email) {
$this->name = $name;
$this->email = $email;
}
public function jsonSerialize() {
// 自定义序列化方式,返回一个关联数组
return [
'name' => $this->name,
'email' => $this->email,
];
}
}
$user = new User('John Doe', '[email protected]');
echo json_encode($user);
在此示例中,User类实现了JsonSerializable接口,并实现了jsonSerialize方法。该方法返回一个关联数组,包含用户的name和email字段。调用json_encode时,会自动调用jsonSerialize方法,将对象转换为JSON格式。