A rewrap of json.dumps done for one reason - to inject a custom `cls` kwarg

        :param obj:
        :param kwargs:
        :return:
        :rtype: str

def json_dumps(cls, obj, **kwargs):
        """
        A rewrap of json.dumps done for one reason - to inject a custom `cls` kwarg

        :param obj:
        :param kwargs:
        :return:
        :rtype: str
        """
        if 'cls' not in kwargs:
            kwargs['cls'] = cls.json_encoder
        return json.dumps(obj, **kwargs)