Указывает, как ujson обрабатывает сериализацию пользовательского объекта?

У меня есть пользовательский объект, который я хочу войти с помощью модуля logger в Python.

Я записываю это с помощью dict:

logger.info({
    'message': 'something happened',
    'object': my_custom_object,
})

Проблема заключается в использовании регистратора ujson.dumps() сериализовать входы в logger.info(),

ujson.dumps() преобразует my_custom_object в список имен переменных экземпляра. Это не очень полезно. Я хочу указать кастом toJson или же toDict метод, который нужно использовать при попытке сериализации этого метода.

Это возможно?

Немного похоже на то, как вы можете указать __str__ метод и каждый раз, когда Python пытается преобразовать ваш объект в строку, он будет вызывать этот метод вместо.

1 ответ

Решение

Видимо, вы на самом деле можете реализовать toDict метод на объекте, и это будет работать.

Другие вопросы по тегам