我正在尝试解析 AWS GuardDuty Json 数据,但是一些嵌套的数据字段正在查找特定的。有没有办法在 pydantic 中做这样的事情:
from pydantic import Basemodel
from pydantic.main import create_model
class AwsModel(BaseModel):
accountID: str
service: create_model("ServiceModel")
并让 pydantic 将该service
字段创建为动态模型?
澄清
我在一些测试数据上试过这个:
from pydantic import BaseModel
from pydantic.main import create_model
data = {
"test": "test",
"dynamic_json":{
"dyn1": "dyn1_v",
"dyn2": "dyn2_v",
"dyn3": "dyn3_v"
},
"test2":"test2"
}
class TestModel(BaseModel):
test: str
dynamic_json: create_model("dynamic_json")
test2: str
m = TestModel.parse_obj(data)
print(m)
输出:test='test' dynamic_json=dynamic_json() test2='test2'
它创建了一个名为的对象dynamic_json
,其中没有字段,我如何让 pydantic 获取嵌套的 json 数据并从数据构建模型?