JSON 转 Go Struct
JSON 生成 Go struct 定义,带 json tag
功能介绍
粘贴 JSON,生成可直接使用的 Go struct:嵌套对象生成独立 struct、字段带 json tag、null 与可选性以指针类型表达。
数值统一映射为 float64(与 encoding/json 解码默认一致),避免 int64 截断错误。
使用说明
- 粘贴 JSON,输入顶层 struct 名(默认 Root)
- 嵌套对象自动生成独立 struct 并以指针引用
- 可空(null)字段生成指针类型并带 omitempty
- 生成代码含 package 声明,可直接放入项目
输入输出示例
输入
{"id":1,"name":"dev","active":true,"meta":{"score":9.5}}
输出
type Meta struct {
Score float64 `json:"score"`
}
type Root struct {
ID float64 `json:"id"`
Name string `json:"name"`
Active bool `json:"active"`
Meta *Meta `json:"meta"`
}
常见问题
为什么整型变成 float64?
encoding/json 解码到 interface{} 时数值统一为 float64,为保证 Unmarshal 兼容默认映射 float64,需要整型请手动改字段类型。
time 字段能识别吗?
JSON 中没有时间类型,字符串一律映射 string。已知格式的时间可手动改为 time.Time。
相关工具
- JSON 转 TypeScript - JSON 生成 TypeScript Interface,支持嵌套与数组
- JSON 转 Java POJO - JSON 生成 Java 实体类,支持 getter/setter 或 Lombok
- DDL 转 Go Struct - MySQL 建表语句生成 Go struct(含类型映射)
本工具完全在浏览器本地运行,输入内容不会被上传或保存。