JSON 转 Go 结构体
转换器把样例 JSON 转为带 json tag 的 Go 结构体,支持嵌套拆分、数组类型推断与 omitempty,适合写 RESTful API 模型层。
0 struct
JSON
Go
type Profile struct {
Age int `json:"age"`
City string `json:"city"`
}
type AutoGenerated struct {
ID int `json:"id"`
Name string `json:"name"`
Active bool `json:"active"`
Score float64 `json:"score"`
Tags []string `json:"tags"`
Profile *Profile `json:"profile"`
}关于 JSON 转 Go 结构体
JSON 转 Go 结构体工具把 JSON 示例自动转换成带正确类型与 json 标签的 Go struct 定义,支持嵌套对象、数组与指针字段的智能推断。写 Go 后端时再也不用手动对照接口文档敲结构体,粘贴响应样例即可拿到可直接编译的代码,并可选导出 Omitempty 或自定义包名。所有转换在浏览器本地完成,示例数据不上传,适合处理含业务字段的接口响应。生成的代码符合 Go 惯例,能直接融入项目,大幅减少联调前的准备工作,也让前端同学在不熟悉 Go 标签语法时也能快速产出可用模型。面对嵌套很深的响应,它也能正确展开为带指针的字段,避免手动写错层级结构;生成的代码符合 Go 惯例能直接编译,大幅减少联调前的准备时间,也让不熟悉 Go 标签语法的同学能快速产出可用模型而不必反复试错。
使用方法
- 打开 JSON 转 Go 结构体 工具页面
- 根据需求输入或粘贴数据到输入区域
- 查看实时处理结果,使用复制按钮获取输出
使用场景
- 对接 REST 接口 — 把接口返回的 JSON 粘进来,立即得到可 Unmarshal 的 Go 结构体。
- 定义配置结构 — 根据配置文件样例生成 struct,用于加载 YAML/JSON 配置。
- 编写爬虫/采集器 — 为第三方接口快速建模,省去手写字段的时间。
- 生成 gRPC/消息体 — 从样例数据反推结构,作为消息或 DTO 定义的起点。
- 学习 Go 类型映射 — 直观看到 JSON 各类型对应的 Go 类型,辅助学习。
常见问题
字段名是怎么转换的?
按 Go 规范转为导出的大驼峰(首字母大写),并对 Id/URL/API 等常见缩写做大写处理,同时保留原始 json tag。
null 值会推断成什么?
值为 null 时推断为 interface{},因为无法确定具体类型。建议用非空样例获得更精确的类型。
omitempty 有什么用?
开启后会在 json tag 上追加 ,omitempty,序列化时空值字段会被省略,适合可选字段较多的场景。
嵌套对象怎么处理?
每个嵌套对象会生成独立的命名 struct,并在父结构体中以指针引用,结构清晰、可复用。
生成后需要调整吗?
输出是标准 Go 代码,复制后可重命名 struct、调整类型或加注释。整数默认 int、小数默认 float64,可按需改成 int64 等。
作者:Dennis · 全栈开发者 · contact@oltool.net最后更新:2026 年 7 月
广告
评论与讨论
评论仅保存在你的浏览器本地,切换设备后不可见。配置 Giscus 后可支持云端评论。