DevToolBox免费
博客

JSON 转 Go Struct 转换器

在线将 JSON 转换为 Go 结构体定义。生成带有 json 标签的正确 Go 类型。支持嵌套对象和数组。

关于 JSON 转 Go Struct

Go 的严格类型系统要求在反序列化 JSON 数据之前定义结构体。手动为复杂 JSON API 编写 Go 结构体既耗时又容易出错。本工具分析您的 JSON 并生成惯用的 Go 结构体定义,具有正确的字段名称(PascalCase)、正确的 Go 类型(string、int、float64、bool)和用于序列化的 json 结构标签。嵌套对象成为独立的命名结构体,数组按其元素类型定义,null 值映射为 interface{}。所有处理都在浏览器中完成。

𝕏 Twitterin LinkedIn

评价此工具

4.8 / 5 · 204 人评价

保持更新

获取每周开发技巧和新工具通知。

无垃圾邮件,随时退订。

Enjoy these free tools?

Buy Me a Coffee

使用方法

  1. 将 JSON 数据粘贴到输入面板
  2. 设置根结构体名称(默认:Root)
  3. 切换 omitempty 和内联结构体选项
  4. 将生成的 Go 结构体复制到 .go 文件中

常见用例

  • 从 REST API 响应体创建 Go 结构体
  • 为 JSON 配置文件构建类型模型
  • 为 Go HTTP 处理器生成请求/响应类型
  • 从示例数据快速原型化 Go 数据模型

常见问题

如何将 JSON 转换为 Go 结构体?
粘贴 JSON 数据,设置根结构体名称,点击转换。工具将为每个字段生成带有正确类型和 json 标签的 Go 结构体定义。
JSON 生成哪些 Go 类型?
字符串映射为 string,整数为 int,小数为 float64,布尔值为 bool,null 为 interface{},对象为命名结构体,数组为元素类型的切片。
什么是 json 结构标签?
结构标签如 `json:"field_name"` 告诉 Go 的 encoding/json 包如何在 JSON 键和结构体字段之间进行映射。
omitempty 有什么作用?
在 json 标签中添加 omitempty 意味着如果字段为零值(空字符串、0、false、nil),则在 JSON 输出中省略该字段。