class SetEncoder(json.JSONEncoder):

    def default(self, obj):
        if isinstance(obj, set):
            return list(obj)
if isinstance(obj, Something):
    return 'CustomSomethingRepresentation'
return json.JSONEncoder.default(self, obj)
json.dumps(set([1, 2, 3, 4, 5, Something()]), cls=SetEncoder)
Наборы Python не сериализуются в json