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。

相关工具

本工具完全在浏览器本地运行,输入内容不会被上传或保存。