JSON转Go结构体
即时将JSON转换为Go结构体定义。粘贴JSON即可生成带正确类型、json标签和omitempty支持的整洁Go代码。
JSON转Go结构体是如何工作的?
该工具解析您输入的JSON,自动生成Go结构体定义。它将JSON值类型映射为对应的Go类型,将键转换为PascalCase字段名,并可选添加json标签用于序列化。嵌套对象会生成独立的命名结构体。
JSON值对应什么Go类型?
字符串映射为string,整数映射为int64,浮点数映射为float64,布尔值映射为bool,null映射为interface{},数组映射为[]Type,对象映射为嵌套结构体。您可以选择将所有数字映射为int64或float64。
Go结构体中的json标签是什么?
json标签如`json:"fieldName"`告诉Go的encoding/json包在序列化和反序列化时如何将结构体字段映射到JSON键。omitempty选项会在输出中跳过零值字段。
"可选字段使用指针"是什么意思?
启用后,可为空字段使用指针类型如*string而非string。这让您能在Go代码中区分零值(空字符串、0)和缺失或null值。
支持嵌套JSON对象吗?
支持。嵌套对象会自动转换为独立的命名Go结构体。对象数组会变为引用生成结构体的切片类型。完全支持深层嵌套。
字段名是如何生成的?
JSON键会被转换为Go风格的PascalCase名称。例如"user_name"变为"UserName","firstName"变为"FirstName"。您可以自定义根结构体名称。
可以转换JSON数组吗?
可以。粘贴JSON数组后,工具使用第一个元素推断结构体定义。生成的Go类型将是推断结构体的切片([]StructName)。
我的JSON数据会发送到服务器吗?
不会。所有转换完全在浏览器中使用JavaScript完成。您的JSON数据不会离开设备,确保完全的隐私和安全。
这个工具有什么用途?
非常适合处理REST API、配置文件或数据库响应的Go开发者。无需手动编写结构体定义,几秒内即可获得生产级Go代码。
这个工具免费吗?
是的,完全免费,无需注册。没有使用限制——可以按需转换任意数量的JSON。
如何使用JSON转Go结构体
在浏览器中把任意 JSON 片段转换成可直接使用的 Go struct 定义。全部在本地运行,私有 API 数据不会离开你的设备。
- 把要转换的 JSON 粘贴到输入编辑器,输出面板会立即生成对应的 Go 代码。
- 在“Struct Name:”输入框中填写包级别的结构体名,例如 User 或 OrderResponse。
- 在“Number Type:”中选择 float64(通用小数)或 int64(始终为整数的字段)。
- 勾选“Add json tags”生成 json 标签,勾选“Add omitempty”让序列化时跳过零值字段。
- 启用“Flatten nested”可将嵌套对象内联到同一个 struct,而不是拆分成多个类型。
计数器和 ID 建议用 int64,但 JSON 数字可能带小数时请保留 float64,因为 Go 不会在两者之间自动转换。
相关工具
- JSON转TypeScript 将JSON数据即时转换为TypeScript接口和类型定义。支持嵌套对象、数组和联合类型。
- JSON 验证器 即时验证 JSON 语法,提供详细错误信息和行号定位。免费在线工具,100% 浏览器端运行。
- Chmod 计算器 免费在线chmod计算器,通过复选框可视化Linux文件权限并计算chmod值。即时转换数字(755, 644)和符号(rwxr-xr-x)表示法,支持setuid、setgid、sticky bit等特殊权限。
- ASCII码表 完整的ASCII字符编码参考表,包含十进制、十六进制、八进制、二进制编码、HTML实体和字符描述。支持即时搜索和筛选。
- HTTP 请求测试 在浏览器中直接测试 REST API。发送 GET、POST、PUT、DELETE 请求,自定义请求头、请求体和查询参数,即时查看响应状态、头部和 JSON 内容。
- .htaccess生成器 生成Apache .htaccess规则,包括重定向、重写、安全头、缓存、压缩等。
- Robots.txt生成器 免费在线robots.txt生成器。创建和自定义robots.txt文件,控制搜索引擎爬取,管理爬虫访问,通过可视化编辑器优化网站SEO。
- 站点地图生成器 免费在线XML站点地图生成器。添加URL、设置优先级和更新频率,在浏览器中即时创建SEO友好的站点地图。