JSON 转 Python 工具
转换器从样例 JSON 自动推断生成 Python dataclass 或 TypedDict,支持 Pydantic 模型与可选字段注解。适合 Python 后端对接 API、数据处理脚本与 FastAPI 路由模型定义时省去手写类。
json-to-go.input
json-to-go.output
from typing import List, Optional, Any
from dataclasses import dataclass
@dataclass
class Profile:
age: int
city: str
@dataclass
class RootObject:
id: int
name: str
active: bool
score: float
tags: List[str]
profile: Profile关于 JSON 转 Python 工具
JSON 转 Python 代码工具在浏览器本地解析样例 JSON 并自动生成 Python 类型定义。支持输出 dataclass(Python 3.7+)或 TypedDict(Python 3.8+)两种形式,字段名自动转为 snake_case 命名风格,嵌套对象拆分为独立的类定义,数组推断为 List 泛型,布尔值映射为 bool,null 值标记为 Optional。生成的代码可直接粘贴到 py 文件中使用,配合 mypy 或 pyright 进行静态类型检查,适用于 FastAPI 接口模型和 Pydantic schema 定义。数据不会被上传到服务器,所有解析和代码生成在浏览器本地完成。
使用方法
- 打开 JSON 转 Python 工具 工具页面
- 根据需求输入或粘贴数据到输入区域
- 查看实时处理结果,使用复制按钮获取输出
使用场景
- 类型化 API 响应 — 把接口 JSON 转成 dataclass,配合 httpx/pydantic 做类型校验。
- 配置文件建模 — 从 JSON/YAML 配置样例生成 dataclass,用于 typed-settings 等库。
- FastAPI 请求体 — 快速生成 Pydantic 兼容的 dataclass 作为请求体模型。
- 数据管道建模 — 为 ETL 管道的输入输出快速建模,提高代码可维护性。
常见问题
dataclass 和 TypedDict 有什么区别?
dataclass 是运行时可实例化的类,TypedDict 仅用于类型注解(dict 的结构化版本)。按需选择。
null 值怎么处理?
null 值推断为 Optional[Any],建议用非空样例获得更精确的类型。
字段名如何转换?
JSON 的 camelCase 或 kebab-case 字段名会自动转为 Python 风格的 snake_case。
需要哪些依赖?
dataclass 模式需要 Python 3.7+(标准库),TypedDict 需要 typing_extensions(3.8 以下)。
作者:Dennis · 全栈开发者 · contact@oltool.net最后更新:2026 年 7 月
广告
评论与讨论
评论仅保存在你的浏览器本地,切换设备后不可见。配置 Giscus 后可支持云端评论。