OpenReplay Logo
12k
12k

YAML 转 Go 转换器

从 YAML 生成 Go 结构体——带类型字段和 yaml 标签,可直接粘贴到你的代码库中。

在本地处理

关于此工具

粘贴任意 YAML 文档,即可得到符合习惯的 Go 结构体,包含导出的字段名、推断出的类型以及 yaml 结构体标签——可直接用于 yaml.Unmarshal。

用它来快速搭建配置加载器或 API 模型,无需手写样板代码。

字段名为导出形式(首字母大写,例如 Name、Port),类型根据值推断:int、string、bool、float64。

常见问题

嵌套映射是如何处理的?

每个嵌套映射都会成为它自己的命名结构体类型,并由父级引用。

列表怎么处理?

标量列表会按其第一个元素的类型转为切片——[]string、[]int。映射列表会生成一个命名的元素结构体(合并各项中出现的键),并以 []Item 的形式引用。

会生成哪些结构体标签?

每个导出字段都带有一个 yaml 标签(yaml:"field"),可直接用于 yaml.Unmarshal——输出始终带 yaml 标签,无可切换选项。如果你需要带 json 标签的结构体,请使用 JSON to Go 转换器。