def payload(self):
        """
        Picks out the payload from the different parts of the signed/encrypted
        JSON Web Token. If the content type is said to be 'jwt' deserialize the
        payload into a Python object otherwise return as-is.

        :return: The payload
        """
        _msg = as_unicode(self.part[1])

        # If not JSON web token assume JSON
        if "cty" in self.headers and self.headers["cty"].lower() != "jwt":
            pass
        else:
            try:
                _msg = json.loads(_msg)
            except ValueError:
                pass

        return _msg