• 用******户 使用了工具 Base64编解码
  • 开******发 使用了工具 MD5加密
  • 工******程 使用了工具 时间戳转换
  • 程******序 使用了工具 JSON格式化
  • 设******计 使用了工具 图片压缩
  • 产******品 使用了工具 URL编解码
  • 测******试 使用了工具 正则表达式
  • 运******维 使用了工具 密码生成器

JSON 转 Go 结构体

编程开发
将 JSON 数据转换为 Go 语言结构体定义,支持嵌套对象、数组类型推断、json tag 生成、字段名 PascalCase 转换
JSONGo结构体转换代码生成前端工具Golang
快捷样例点击加载 JSON 示例
用户信息基础字段
订单数据嵌套对象
API 响应列表嵌套
配置信息混合类型
地址信息深层嵌套
空数组边界情况
结构体名称
输入 JSON

工具介绍

JSON 转 Go 结构体工具可将 JSON 数据自动转换为 Go 语言结构体定义,支持嵌套对象自动生成子结构体、 数组类型智能推断、json tag 自动添加、字段名 PascalCase 转换,是 Go 开发者处理 JSON 数据的必备工具。

类型映射

JSON 类型Go 类型示例
stringstring"hello" → string
number (整数)int42 → int
number (小数)float643.14 → float64
booleanbooltrue → bool
nullinterface{}null → interface{}
array[]T[1,2] → []int
objectstruct{"a":1} → 嵌套结构体

使用场景

场景说明
API 对接快速将第三方 API 的 JSON 响应转为 Go 结构体,加速接口开发
数据建模根据 JSON 数据样本自动生成 Go 结构体定义,减少手写工作
配置解析将 JSON 配置文件转为 Go 结构体,方便类型安全的配置读取
代码生成批量生成数据模型的 Go 结构体,提高开发效率
学习参考理解 JSON 类型与 Go 类型的映射关系
原型开发快速验证数据结构设计,生成初始代码框架

常见问题

JSON 类型如何映射到 Go?

string→string,整数→int,小数→float64,布尔→bool,null→interface{},数组→[]T,对象→嵌套结构体。

嵌套对象怎么处理?

嵌套对象会自动生成对应的子结构体,结构体名称取字段名的 PascalCase 形式。

数组类型如何推断?

根据数组第一个元素的类型推断。空数组会生成 []interface{},建议提供包含数据的数组。

json tag 有什么用?

json tag 指定 JSON 序列化时使用的字段名,确保与原始 JSON 键名一致。

支持数组根节点吗?

当前仅支持对象根节点。如果 JSON 是数组,请用对象包裹后再转换。

字段名如何转换?

字段名自动从 snake_case/kebab-case 转为 PascalCase,如 user_name → UserName。