跳到正文
马克工具箱

JSON 转 Pydantic 模型

粘贴 JSON,得到可以在 Python 中校验和解析数据的 Pydantic 模型。键名转成 snake_case 属性并通过 alias 对应原始名称,嵌套对象生成独立的类。

在浏览器本地运行,输入的内容和文件都不会上传

使用步骤

  1. 粘贴 JSON 示例,或点「加载示例」。
  2. 设置根模型的名称。
  3. 复制或下载生成的代码。

参数说明

根类型名称
顶层模型类的名称,嵌套类按键名命名。

使用示例

{"userName": "ada", "age": 36} 会生成:

class Root(BaseModel):
    user_name: str = Field(alias="userName")
    age: int

常见问题

适用于哪个版本?

Pydantic v2,Python 3.10 及以上,使用 list[str]、str | None 这样的类型注解。

怎么解析使用原始键名的数据?

改过名字的字段都带有 alias,所以 Root.model_validate(data) 可以直接接受 userName 这样的原始键名。如果还想接受 Python 属性名,在模型配置中开启 populate_by_name。

键名是 Python 关键字怎么办?

会在后面加下划线,例如键 class 变成属性 class_,并设置 alias="class"。

JSON 数据会上传吗?

不会。类型在浏览器中生成,包含真实数据的接口返回也不会离开你的设备。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具