현재 위치: > 함수 카테고리 모음> 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() 메소드가 자동으로 호출되어 직렬화 해야하는 데이터를 제공합니다. 즉, 메소드를 수동으로 호출 할 필요가 없습니다.

유사한 함수
인기 기사