Сериализация python класса в json ( и обратная десериализация в класс из json)

Всем привет! Задачка такая, в коде накопилось довольно большое количество request,ов вида:

request = {
'@r_type' : 'init',
 'options': {
   '@r_type' : 'options',
   'options' : 'some_options'
}

Дальше этот реквест сериализуется в json и посылается на сервер, в ответ приходит тоже json структура.

Я решил, почему бы не написать классы обвязки, чтобы убрать этот синтаксический сахар. Как это лучше всего сделать?

Я знаю типы полей, которые используются в реквестах (например выше r_type имеет тип str и options тоже) Возможно, мы можем реализовать простые dataclass (для каждого типа)

Пример:

@dataclass
class RType:
    type_name: str

    class Meta:
        name = '@r_type'
        content = 'type_name'


@dataclass
class Options:
    type: RType
    content: str

    class Meta:
        name = 'options'
        content = 'content'

Не совсем понятно, как превратить это в json (и обратно)


Ответы (0 шт):