간단한 객체의 경우 객체를 배열로 유형 캐스팅합니다. 그런 다음 결과 배열을 인코딩하면 충분합니다.
방법 2: 재귀 toArray 메서드
객체 클래스에 toArray() 메서드를 생성하여 해당 배열을 재귀적으로 변환합니다. 속성을 배열에 추가합니다. 속성 자체가 객체인 경우 속성에 대해서도 toArray()를 재귀적으로 호출합니다.<code class="php">$json = json_encode((array)$object);</code>배열에서 순환 참조(예: _parent)를 제거하면 재귀 관련 문제를 피할 수 있습니다.
방법 3: 인터페이스 기반 변환
<code class="php">public function toArray() { $array = (array) $this; array_walk_recursive($array, function (&$property) { if ($property instanceof Mf_Data) { $property = $property->toArray(); } }); return $array; }</code>객체를 배열로 변환(toMap())하고 가져오기 위한 메서드가 포함된 인터페이스(예: ToMapInterface)를 정의합니다. 변환에 포함할 속성의 하위 집합(getToMapProperties()):
<code class="php">public function toArray() { $array = get_object_vars($this); unset($array['_parent'], $array['_index']); array_walk_recursive($array, function (&$property) { if (is_object($property) && method_exists($property, 'toArray')) { $property = $property->toArray(); } }); return $array; }</code>Node 클래스에서 다음 메서드를 구현하여 보다 구조화되고 테스트 가능한 변환 프로세스를 만듭니다.
위 내용은 PHP 5.4 이전에는 PHP 객체를 JSON으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!