JSON 转 TypeScript / Go

粘贴一段 JSON,生成对应的 TypeScript 接口或 Go 结构体,嵌套对象会单独拆成类型。

生成规则

数组会把每个元素的类型合并起来。同一个键只在部分元素里出现时,TypeScript 标成可选(note?),Go 加上 omitempty。嵌套对象和数组里的对象都会单独生成一个类型,名字由父类型名和键名拼出来。

同一个键出现多种类型时,TypeScript 用联合类型,例如 (number | string)[];Go 没有联合类型,退化成 any。JSON 里的数字在 Go 里统一用 float64,需要整数可以按实际业务改成 int 或 int64。

值为 null 的字段在 TypeScript 里是 null,如果它同时出现过别的类型,会变成联合类型。空数组的元素类型无从判断,用 any[] 占位。

生成的类型只是按这份样例数据推断出来的,字段可能比真实接口少。生产环境建议再对着接口文档核对一遍。本页在浏览器本地转换,数据不会上传。