Библиотека для преобразования между объектами Python и структурами данных JSON - PullRequest
0 голосов
/ 16 июня 2019

Мне нужно работать в среде, где на сервере хранятся объекты данных, кэшированные в памяти, и некоторые или все из них необходимо отправить клиенту через веб-сокет.Преобразование между объектами и структурами данных очень прямолинейно.Например, вот определение TypeScript объекта передачи данных:

export interface IFieldStruct {
    field_name: string;
    type: string;
    displaylabel: string;
    notnull: boolean;
}

Соответствующие объекты Python выглядят так:

class FieldStuct:
    def __init__(field_name: str, type: str, displaylabel: str, notnull: bool):
        self.field_name = field_name
        self.field_name = field_name
        self.displaylabel = displaylabel
        self.notnull = notnull

На самом деле объекты Python на стороне сервера являютсяумнее, чем это.У них также есть методы, и у них также есть некоторые атрибуты, которые не нужно экспортировать в JSON.Некоторые из их атрибутов могут быть списками и словарями, содержащими другие смарт-объекты.

В этом проблема.Я хотел бы воспользоваться преимуществами завершения кода и проверки кода в моей Python IDE (pycharm).Поэтому я не хочу хранить эти данные как структуру данных в Python.Но я также хочу иметь возможность легко конвертировать и отправлять эти объекты.

Я знаю, что мог бы написать свой собственный сериализатор / десериализатор для этого.Но будут сотни классов объектов данных, и я не хочу писать сериализатор вручную.Интересно, есть ли хорошая библиотека, которая уже делает это для меня с помощью самоанализа объекта?Я не хочу изобретать велосипед.В PyPi слишком много библиотек, и я не могу найти нужную.Я не спрашиваю мнений, я просто прошу список самых популярных библиотек, которые могут помочь мне в конвертации.

1 Ответ

0 голосов
/ 16 июня 2019

Pickle - одна из самых популярных (de) сериализаций, если не самая популярная.

https://docs.python.org/3/library/pickle.html

...