JSON 转 Go

即时将 JSON 转换为 Go 结构体。免费在线工具,从 JSON 数据生成带 json 标签的 Go struct 定义。非常适合 API 开发和数据建模。无需注册。

Loading...
我们的 JSON 转 Go 结构体转换器可以即时将 JSON 数据转换为格式正确的 Go struct 定义。这个工具对于使用 API、配置文件或任何 JSON 数据的 Go 开发者来说至关重要。转换器自动为每个字段生成 json 标签,处理嵌套结构,并推断正确的 Go 类型,包括 string、int、float64、bool 和复杂的结构体类型。非常适合从 JSON 示例快速构建 Go 数据模型。
  1. 粘贴 JSON 数据或点击「加载示例」尝试示例数据
  2. Go 结构体会在您输入时即时生成
  3. 查看生成的带有正确 json 标签的结构体
  4. 复制生成的代码或下载为 .go 文件
  5. 在 Go 项目中使用该结构体进行 JSON 序列化/反序列化

Go 结构体中的 json 标签是什么?

Json 标签是告诉 Go 的 encoding/json 包如何将结构体字段映射到 JSON 键的注解。它们使用反引号指定,如 `json:"fieldName"`,实现正确的 JSON 序列化和反序列化。

工具如何处理嵌套的 JSON 对象?

转换器为每个嵌套对象创建单独的结构体定义。例如,如果您的 JSON 中有一个包含地址的用户,它会生成 User 和 Address 两个结构体,并正确引用类型。

JSON 值会生成什么 Go 类型?

工具将 JSON 类型映射到 Go 类型:字符串变为 string,整数变为 int,小数变为 float64,布尔值变为 bool,数组变为切片,对象变为嵌套结构体。

如何处理 null 值?

JSON 中的 null 值会转换为 Go 中的 interface{},它可以保存任何值包括 nil。如需更具体的处理,您可能需要使用指针类型或自定义的可空类型。

可以用于 API 响应建模吗?

当然可以!这是最常见的用例之一。只需粘贴一个示例 API 响应,即可获得即时的 Go 结构体,可直接用于 Go 代码中的 json.Unmarshal()。

字段名会正确大写吗?

是的!Go 要求导出字段以大写字母开头。工具会自动将字段名大写,同时在 json 标签中保留原始的 JSON 键名。