🔄 JSON转Go结构体

免费在线JSON转Go结构体工具,一键将JSON数据转换为Go语言struct定义,支持嵌套结构体、自定义标签、指针类型等。无需注册。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

一键将JSON数据转换为Go语言struct定义,支持嵌套结构体和自定义标签

零依赖 · 可离线使用

📝 JSON输入

📜 历史记录

❓ 常见问题

支持嵌套JSON吗?

支持。嵌套对象会自动生成为独立的嵌套结构体,每个结构体都有对应的类型名称。

如何处理JSON中的null值?

默认将null字段映射为指针类型(如*string),可关闭"null用指针"选项改为interface{}。

支持数组类型吗?

支持。JSON数组会转换为Go切片类型[]T,T根据数组元素类型自动推断。

数据会上传到服务器吗?

不会。本工具采用纯前端技术,所有转换在浏览器本地完成,数据绝不离开您的设备。

可以自定义标签吗?

可以。支持json、json+bson、json+gorm、json+db四种标签组合,也可选择不生成标签。

生成的代码可以直接使用吗?

可以。生成的代码符合Go语言规范,可直接复制到.go文件中。建议根据实际需求调整类型名称。

JSON转Go结构体工具能做什么?

JSON转Go结构体工具是一款免费在线开发者工具,能够将JSON数据一键转换为Go语言的struct定义代码。自动识别JSON字段类型并映射为Go类型,支持嵌套对象生成独立结构体、自定义json/bson/gorm标签、null值处理为指针类型等功能。适用于Go开发者快速从API响应或配置文件生成类型定义,大幅减少手动编写struct的工作量。所有转换在浏览器本地完成,数据绝不上传服务器。

核心功能

使用教程

1. 在JSON输入框中粘贴您的JSON数据,或点击"加载示例"快速体验。

2. 设置结构体名称和转换选项:是否使用指针类型、整数类型、标签类型等。

3. 点击"转换"按钮,或使用快捷键Ctrl+Enter执行转换。

4. 在下方结果区域查看生成的Go结构体代码。

5. 点击"复制代码"将结果复制到剪贴板,或下载为.go文件。

应用场景

场景1:API开发

后端开发者对接第三方API时,将API返回的JSON示例粘贴到工具中,一键生成对应的Go struct,省去手动编写的繁琐工作。

场景2:配置文件解析

Go项目使用JSON配置文件时,用此工具快速生成配置结构体定义,确保字段类型和标签正确。

场景3:数据库模型

结合gorm标签选项,从JSON数据直接生成带有数据库标签的Go结构体,加速数据模型开发。

场景4:微服务协议

在微服务间定义JSON通信协议时,快速生成各服务的请求/响应结构体定义,保持类型一致。

扩展知识

Go语言中struct标签(struct tag)是附加在字段声明后的元数据字符串,常用格式为`key:"value"`。json标签用于encoding/json包的序列化/反序列化,bson标签用于MongoDB驱动,gorm标签用于GORM ORM框架定义数据库映射规则。Go的json包在反序列化时,如果JSON字段为null且Go类型为值类型(如string),会使用零值而非nil,这可能导致歧义。使用指针类型(*string)可以精确区分null和空值。Go 1.9+引入了type alias语法,可在生成代码后按需优化类型定义。

JSON转Go结构体 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com