【发布时间】:2019-04-10 19:07:53
【问题描述】:
我想通过使用pydantic 验证器来验证包含 from 字段(Python 中的保留字)的 JSON 对象(它位于 Telegram Bot API 中)。所以我的模型应该如下所示:
class Message(BaseModel):
message_id: int
from: Optional[str]
date: int
chat: Any
...
但在这种情况下不允许使用 from 关键字。
我该怎么做?
注意:这与“为什么我们不能使用关键字作为属性”不同,因为这里我们得到了我们无法控制的外部 JSON,无论如何我们都应该处理带有 from 字段的 JSON。
【问题讨论】:
-
建议的副本说为什么你不能使用
from作为一个属性,而不是你如何解决这个问题来使用from作为一个JSON对象一把钥匙。 -
可能工作的一种方法(可能不是“正确”的方法)是自己更新注释:
Message.__annotations__.update({'from': Optional[str]})
标签: python json telegram-bot pydantic