개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.13 21:00

DsStack::jsonSerialize() 메서드 사용에 대한 질문

목록
  • ReactNative장인 9시간 전 2025.08.13 21:00 새글
  • 5
    1
저는 DsStack 클래스의 jsonSerialize() 메서드를 사용하여 JSON 데이터를 serialize하는 것을 공부 중입니다. 하지만 jsonSerialize() 메서드의 반환 타입을 이해할 수 없습니다.

jsonSerialize() 메서드는 반환 타입이 string 인 것으로 알고 있습니다. 하지만 실제로 사용했을 때 string 타입이 아닌 stdClass 타입이 반환되는 것을 확인했습니다. jsonSerialize() 메서드의 반환 타입이 string 인지 stdClass 인지 정확히 어떤 타입인지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  9시간 전

    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 43,955건 / 4 페이지

검색

게시물 검색