【问题标题】:Library for converting between python objects and JSON data structures用于在 python 对象和 JSON 数据结构之间转换的库
【发布时间】:2023-04-11 11:53:01
【问题描述】:

我需要在服务器将数据对象缓存在内存中的环境中工作,并且需要通过 websocket 将部分或全部数据对象发送到客户端。对象和数据结构之间的转换非常紧张。例如,这是一个数据传输对象的 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 上有太多的库,我找不到合适的库。我不是在征求意见,我只是要求列出可以帮助我进行转换的最受欢迎的库。

【问题讨论】:

    标签: python json introspection


    【解决方案1】:

    Pickle 是最流行的(反)序列化库之一,如果不是最流行的话。

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

    【讨论】:

    • 是的,但是它将整个对象树序列化为 Python 特定的格式。问题是关于将对象转换为 JSON 数据结构。
    • 我已经相应地更改了标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多