可以使用哪种 JSON 输入?
可以输入一个 JSON 对象或任意非空 JSON 数组。顶层数组会转换为命名切片,数组中的每个对象元素都会参与字段推断。属性名必须能由 Go 标准 encoding/json 的 struct 标签表示;不支持的名称会明确报错,而不会被静默更改。
根据有代表性的 JSON 对象或数组生成 Go struct 声明,包括嵌套类型、可导出的字段名和保留原属性名的 json 标签。
设置包名和根类型名称,然后生成完整的 Go 源文件,其中包含有效的可导出字段以及保留原属性名的 json 标签。在应用中使用这些类型前,请检查依赖样本推断的类型选择。
可以输入一个 JSON 对象或任意非空 JSON 数组。顶层数组会转换为命名切片,数组中的每个对象元素都会参与字段推断。属性名必须能由 Go 标准 encoding/json 的 struct 标签表示;不支持的名称会明确报错,而不会被静默更改。
对象数组会合并所有样本元素的键。某个字段即使只出现在部分元素中,也会根据已有值生成。omitempty 选项会修改每个 json 标签,但不会添加指针,也不会校验必填字段。
null 值、不兼容的混合值或包含不兼容值的数组会转换为 any。空数组会转换为 []any,因为样本无法表明元素类型。
请将结果作为基于样本生成的起点。将类型加入项目之前,请检查可选字段、时间字符串、类似映射的对象、数值范围,以及可能超出 JSON 数字精确范围的标识符。
不会。本工具会在当前浏览器标签页中解析并转换 JSON,不会将其上传到服务器。
相关工具: JSON 格式化工具 · JSON 转 TypeScript · JSON Schema 生成器