
jsonSerialize() 메서드는 stdClass 타입을 반환합니다. 이는 PHP 5.4에서 도입된 기능으로, serialize() 함수를 사용하여 JSON 데이터를 생성할 때 stdClass 객체를 자동으로 JSON으로 변환하는 기능입니다.
이 메서드는 반환 타입이 string이 아닌 stdClass 타입인 이유는 PHP 5.4에서 도입된 이 기능이기 때문입니다. 이 기능을 사용하면 stdClass 객체를 JSON 데이터로 쉽게 변환할 수 있습니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
class DsStack {
private $data;
public function __construct() {
$this->data = [];
}
public function push($value) {
array_push($this->data, $value);
}
public function pop() {
if (!empty($this->data)) {
return array_pop($this->data);
} else {
return null;
}
}
public function jsonSerialize() {
return $this->data;
}
}
$stack = new DsStack();
$stack->push(1);
$stack->push(2);
$stack->push(3);
$jsonData = json_encode($stack, JSON_PRETTY_PRINT);
print($jsonData);
위 코드에서, jsonSerialize() 메서드는 stdClass 객체를 JSON 데이터로 변환합니다. 이 메서드는 반환 타입이 string이 아닌 stdClass 타입인 이유는 PHP 5.4에서 도입된 이 기능 때문입니다.
따라서, jsonSerialize() 메서드는 stdClass 타입을 반환합니다.
2025-08-13 21:01