关于此工具
JSON Schema 转 TypeScript 工具可将 JSON Schema 文档编译为 TypeScript 接口和类型别名,做到流行的 json-schema-to-typescript 库所做的事,而无需安装工具链。与 JSON 示例转换器不同,此工具读取的是真正的 schema:它遍历 schema 对象,将 type:'object' 转换为一个接口,其中列在 required 中的键为非可选,其余的用 ? 标记。
一切都用 JSON.parse 和纯 JavaScript 在你的浏览器本地解析并生成,因此你的 schema 永不离开页面。带 enum 的字符串 schema 会变为字符串字面量的联合;普通的 string、number/integer、boolean 和 null 映射到它们的 TypeScript 等价类型;数组变为 T[](当 items 为数组时变为元组)。支持组合器——allOf 变为交叉类型(A & B),anyOf / oneOf 变为联合类型(A | B)——可为空的 type:[T,'null'] 变为 T | null。
引用按名称解析:指向 #/definitions/X 或 #/$defs/X 的 $ref 会输出一个命名类型引用,且每个定义都会生成为各自的 export interface 或 export type。additionalProperties 会添加索引签名 [key: string]: T。根类型名称回退为 schema 的 title 或 $id。可切换接口输出还是类型输出,以及 schema 的 description 字符串是否变为 JSDoc /** */ 注释。复制结果,或下载 .ts 文件。