转换器会解析 JSON 示例,逐一遍历每个值来推断 Go 字段类型。字符串会成为 string,整数成为 int,小数成为 float64,布尔成为 bool,对象成为 struct,数组成为 slice。
输出会依据您贴上的示例推断,因此混合型数组、nullable 字段与缺漏字段只会根据看得到的数据判断。将 struct 放进正式代码前,请先检查 interface{} fallback、指针字段与 omitempty tag。
关于这个主题的常见疑问与实用解答。
JSON 字符串会对应 Go string,整数对应 int,小数对应 float64,布尔值对应 bool,数组对应 slice,嵌套对象对应嵌套 struct。只有 null 的字段会 fallback 成 interface{};有类型但可为 null 的字段可能会变成指针并加上 omitempty tag。
嵌套 JSON 对象会被输出成生成类型内的匿名 nested struct block。转换器不会把它们拆成独立命名的子类型,因此您可以之后再依实际代码需求手动抽出可复用 struct。
是的,转换器会使用原始 JSON key 名称为字段加入 json struct tag。例如,JSON 字段 user_name 会生成带有 user_name json tag 的 Go 字段,让 encoding/json 能保留传输格式的名称。
不会,JSON 转 Go struct 的转换完全在您的浏览器中以 JavaScript 执行。您的 JSON 数据留在您的设备上,不会上传至任何服务器。