Go 结构体转 JSON 示例生成器
粘贴带有 json 标签的 Go struct 定义,即可自动生成对应的 JSON 示例数据。支持嵌套 struct、切片、omitempty 以及 json:"-",适合用于 API 模拟数据和 Postman 示例。
使用提示
- 一次粘贴多个 struct 时,嵌套字段的类型会被自动解析并递归生成对应的示例对象(若找不到定义则用空对象 {} 代替,并显示警告)。
- 指定目标 struct 名称后,即使输入中包含多个 struct,也能选择作为根对象的那一个(留空时默认使用第一个出现的 struct)。
- 标记为 json:"-" 的字段会从 JSON 输出中排除。带 omitempty 的字段仍会照常输出对应的键,如不需要请手动删除。
- 生成的数值仅是基于类型的占位符(字符串为 "example",数字为 1 等)。若要作为真实的 API 响应示例,请自行替换为实际数据。
- 本工具与姊妹工具「JSON 转 Go 结构体」正好方向相反。可将 Go 处理函数中定义的 struct 快速转换为供前端或 QA 团队使用的示例数据。
常见问题
手动将 Go 的 API 响应 struct 转换为 JSON 很容易出错,尤其是嵌套层级较深时,字段类型或 json 标签很容易理解错误。自动生成可以让你更快地向前端或 QA 团队提供准确的示例数据。
如果在输入内容中找不到所引用 struct 的定义,该字段的值会输出为空对象 {},并在页面上显示警告信息。将定义所在的 struct 一并粘贴即可正确生成嵌套示例。
omitempty 只是 Go 端在编码时省略零值的指示,因此对应的键仍会照常出现在示例 JSON 中。而标记为 json:"-" 的字段在编码时会被完全排除,因此也不会出现在示例 JSON 里。
没有,它们只是满足类型要求的占位符。字符串为 "example",整数为 1,浮点数为 1.5,布尔值为 true,都是固定值,实际使用时请自行替换。
不是。本工具是基于正则表达式和逐行分析的简易解析器,并未使用真正的 Go 语法解析器(AST)。因此不支持跨多行的类型定义或匿名嵌套 struct 等复杂写法,请将其视为快速生成草稿的工具。
闲话 ― 与「JSON 转 Go 结构体」正好相反的思路
在用 Go 开发 Web API 时,响应结构通常由 struct 与 json 标签组合定义。但当前端开发者或 QA 工程师想确认 API 的实际表现时,阅读 Go 代码并在脑中逐个把字段类型换算成 JSON 是一件既费时又容易出错的工作。
本工具正好与姊妹工具「JSON 转 Go 结构体」方向相反:只需粘贴 Go 的 struct 定义,就能根据 json 标签生成对应的键名,并按字段类型填入占位值,生成可直接用于 Postman 示例或前端模拟数据的 JSON。
不过本工具并非真正的 Go 编译器,而是基于正则表达式与逐行分析的简易解析器。它能处理简单的字段定义,以及在同一输入中一并粘贴的嵌套 struct,但对于匿名嵌套 struct 或跨多行的类型定义等复杂写法可能无法正确解析。请将其作为草稿参考,并结合实际 Go 源码确认最终结构。