라이브러리
[PHP] JsonSerializable::jsonSerialize - JSON으로 직렬화해야 하는 데이터 지정
JsonSerializable::jsonSerialize
JsonSerializable::jsonSerialize는 PHP 5.4에서 도입된 인터페이스입니다. 이 인터페이스를 구현한 클래스는 JSON.stringify()와 같은 함수에서 직렬화할 수 있습니다. 직렬화란 객체의 속성을 JSON 형식으로 변환하는 것을 의미합니다.
JsonSerializable::jsonSerialize 메소드
JsonSerializable::jsonSerialize 메소드는 객체의 속성을 JSON 형식으로 변환하는 메소드입니다. 이 메소드는 객체의 속성을 JSON 형식으로 변환하여 반환합니다.
예제
아래 예제는 JsonSerializable::jsonSerialize를 구현한 클래스를 생성하고, 이 클래스의 인스턴스를 JSON 형식으로 변환하는 예제입니다.
#hostingforum.kr
php
class Person implements JsonSerializable {
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function jsonSerialize() {
return [
'name' => $this->name,
'age' => $this->age
];
}
}
// 인스턴스 생성
$person = new Person('John Doe', 30);
// JSON 형식으로 변환
$json = json_encode($person);
// 결과 출력
echo $json; // {"name":"John Doe","age":30}
예제 설명
위 예제에서 Person 클래스는 JsonSerializable::jsonSerialize 인터페이스를 구현했습니다. Person 클래스의 jsonSerialize 메소드는 객체의 속성을 JSON 형식으로 변환하여 반환합니다. 인스턴스를 생성하고, json_encode() 함수를 사용하여 JSON 형식으로 변환한 후 결과를 출력했습니다.
추가 예제
아래 예제는 JsonSerializable::jsonSerialize를 구현한 클래스를 생성하고, 이 클래스의 인스턴스를 JSON 형식으로 변환하는 예제입니다. 이 예제에서는 Person 클래스의 속성을 JSON 형식으로 변환하는 대신, 객체의 속성을 JSON 형식으로 변환하는 다른 방법을 사용했습니다.
#hostingforum.kr
php
class Person implements JsonSerializable {
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function jsonSerialize() {
return (object) [
'name' => $this->name,
'age' => $this->age
];
}
}
// 인스턴스 생성
$person = new Person('John Doe', 30);
// JSON 형식으로 변환
$json = json_encode($person);
// 결과 출력
echo $json; // {"name":"John Doe","age":30}
예제 설명
위 예제에서 Person 클래스는 JsonSerializable::jsonSerialize 인터페이스를 구현했습니다. Person 클래스의 jsonSerialize 메소드는 객체의 속성을 JSON 형식으로 변환하여 반환합니다. 인스턴스를 생성하고, json_encode() 함수를 사용하여 JSON 형식으로 변환한 후 결과를 출력했습니다.
결론
JsonSerializable::jsonSerialize 인터페이스는 객체의 속성을 JSON 형식으로 변환하는 데 사용됩니다. 이 인터페이스를 구현한 클래스는 JSON.stringify()와 같은 함수에서 직렬화할 수 있습니다. 위 예제를 통해 JsonSerializable::jsonSerialize 인터페이스를 구현한 클래스를 생성하고, 이 클래스의 인스턴스를 JSON 형식으로 변환하는 방법을 살펴보았습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.