跳到主要内容

JSON 转 Python 模型

样例 JSON 生成 Pydantic BaseModel 或 dataclass,别名自动补。

本地计算 · 数据不出浏览器
样例 JSON
0 字符1 行0 B

生成结果(本地推断,零上传)

粘贴样例 JSON 后,类型定义会显示在这里。

使用说明

这个工具解决什么问题

用 Python 接第三方接口,每次都要照着响应示例手写模型:camelCase 转 snake_case、可空字段标 Optional、嵌套结构一层层建类,重复劳动且容易漏。这个工具从 JSON 样例直接生成模型:默认 Pydantic BaseModel,也可选 dataclass;字段名自动转 snake_case,原名走 Field(alias=...) 并配 populate_by_name;混合类型生成 Union,可空生成 Optional;嵌套模型先定义后引用,import 语句按需生成不冗余。纯浏览器本地运行,数据不上传。

核心能力

双风格:Pydantic BaseModel 默认,dataclass 可选。字段名规整:自动转 snake_case,原名以 Field(alias=...) 保留并配 populate_by_name。类型处理:混合类型生成 Union,可空字段生成 Optional。嵌套建模:嵌套对象生成独立类,先定义后引用。零上传:本地转换,样例不出本机。

使用建议

接口响应样例直接贴入,生成的模型先跑一遍真实数据验证 alias 解析是否生效;只需要内部数据容器、不想引入依赖时切 dataclass。注意样例是单个快照:可空字段只有当样例里出现过 null 才会标 Optional,已知可空的字段建议手动补上;生成后放进项目按 PEP 8 过一遍命名即可使用。

常见问题

字段名为什么要转 snake_case?

Python 惯例字段用 snake_case,而接口数据常是 camelCase。工具把字段名转成 snake_case,原名放 Field(alias=...) 并配 populate_by_name,两种写法都能构造,解析接口数据不丢字段。

Pydantic 与 dataclass 选哪个?

默认 Pydantic BaseModel,自带类型校验与 alias 解析,适合接接口数据;dataclass 是标准库零依赖,适合纯内部数据结构。两种风格都支持,按项目依赖选。

嵌套模型和 import 怎么处理?

嵌套对象生成独立模型类,先定义后引用,输出即能跑;import 按需生成,用到 Optional/Union 才引入 typing,不冗余。

JSON 转 Go Struct

样例 JSON 生成 Go struct 与 json tag,混合类型 any 兜底。

JSON 转 Java POJO

样例 JSON 生成 Java 类与 getter/setter,Jackson 注解可选。

JSON 转 C# 类

样例 JSON 生成 C# 类,PascalCase 与 JsonPropertyName 自动补。

查看更多格式转换,或浏览全部工具。