在此运行 完全在你的浏览器里运行,不上传、不登录
JSON 转 Go Struct
把 JSON 转成 Go struct:导出字段名、json tag、嵌套 struct 与切片类型,null 映射 any。
怎么用
- 把 JSON 粘贴到左边——页面启动时会预载一个示例。
- 设置根类型名;嵌套 struct 按字段路径自动命名。
- 输出先列嵌套 struct、根 struct 放在最后;整体复制进你的包即可。
- 字段名导出(PascalCase),
encoding/json才看得见;每个字段带json:"原始键名"tag。 - 重名自动加数字后缀;缩进用 Tab,与
gofmt排版一致。
常见用法
- API 客户端 —— 把 REST 载荷解码进 struct,告别
map[string]any猜谜。 - Webhook 处理 —— 给服务商推送的事件定义一个 struct。
- 配置加载 —— 给 JSON 配置文件定类型,用
json.Unmarshal读入。 - 学 Go 类型 —— 看 JSON 形状如何映射成 struct、切片和
any兜底。
常见问题
问:数字类型怎么处理?
答:所有 JSON 数字都映射为 float64,这也是 encoding/json 的默认行为。能确定取值范围时手动改成 int 或 float32。
问:混合元素或空数组怎么办?
答:元素类型唯一时输出 []T;元素类型不止一种、或数组为空时退化为 []any——仅凭数据无法钉死形状。
问:为什么字段名和 JSON 键不一样? 答:Go 字段名必须导出且是合法标识符,所以键被转成 PascalCase,原始键保留在 json tag 里——解码时依然与线上的格式精确对应。
你的数据留在这台设备上
JSON 转 Go Struct 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。
你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。