// Json Serialize Code public function jsonSerialize(){ $values = array_filter((array)get_object_vars($this), function ($val){ return !is_null($val); }); $mapper = \net\authorize\util\Mapper::Instance(); foreach($values as $key => $value){ $classDetails = $mapper->getClass(get_class() , $key); if (isset($value)){ if ($classDetails->className === 'Date'){ $dateTime = $value->format('Y-m-d'); $values[$key] = $dateTime; } else if ($classDetails->className === 'DateTime'){ $dateTime = $value->format('Y-m-d\TH:i:s\Z'); $values[$key] = $dateTime; } if (is_array($value)){ if (!$classDetails->isInlineArray){ $subKey = $classDetails->arrayEntryname; $subArray = [$subKey => $value]; $values[$key] = $subArray; } } } } if (get_parent_class() == ""){ return $values; } else{ return array_merge(parent::jsonSerialize(), $values); } } }