Сериализация 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 (и обратно)