ManaPHP\Serializer\Adapter\JsonPhp::deserialize PHP Method

deserialize() public method

public deserialize ( string $serialized ) : mixed
$serialized string
return mixed
    public function deserialize($serialized)
    {
        if ($serialized[0] === '{' || $serialized[0] === '[') {
            $data = json_decode($serialized, true);
            if ($data === null) {
                throw new JsonPhpException('json_encode failed: :message', ['message' => json_last_error_msg()]);
            }
            if (!is_array($data)) {
                throw new JsonPhpException('json serialized data is not a array, maybe it has been corrupted.');
            }
            if (isset($data['__wrapper__']) && count($data) === 1) {
                return $data['__wrapper__'];
            } else {
                return $data;
            }
        } else {
            $data = unserialize($serialized);
            if ($data === false) {
                throw new JsonPhpException('unserialize failed: :message', ['message' => error_get_last()['message']]);
            } else {
                return $data;
            }
        }
    }