小编hag*_*aiw的帖子

从 json 初始化 pydantic 数据类

我正在将dataclasses项目中现有的转换为pydantic-dataclasses,我使用这些dataclasses来表示我需要编码和解析 json 的模型。

这是我当前方法的一个示例,该方法对于我的用例来说不够好,我有一个类A,我想将其转换为字典(稍后转换为 json)并从该字典中读取。但我能找到的将 json 解析回模型的唯一方法给了我底层BaseModel而不是dataclass.

请注意,我使用该asdict函数将 a 转换dataclass为 a dict,因为它是用来pydantic_encoder将 a 转换dataclass为 json 的,并使用pydantic_encoder文档建议的将 a 转换pydantic-dataclass为 json: https: //pydantic-docs.helpmanual.io/usage /数据类/

from dataclasses import asdict
from pydantic.dataclasses import dataclass
from pydantic import BaseModel

@dataclass
class A:
    x: str

a = A("string")
a_dict = asdict(a)
parsed_a = A.__pydantic_model__.parse_obj(a_dict)

print(f"type of a: {type(a)}")
print(f"type of parsed_a: …
Run Code Online (Sandbox Code Playgroud)

python python-dataclasses pydantic

34
推荐指数
4
解决办法
6万
查看次数

标签 统计

pydantic ×1

python ×1

python-dataclasses ×1