quicktype JSON Schema 类型化代码生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/quicktype-json-schema-code-generator
技能介绍
处理第三方 API 响应、JSON Schema 或零散的样本数据时,最头疼的往往是“先手写类型定义再验证数据”的循环:字段名拼写错误、类型推断偏差、序列化代码重复造轮子,跨语言项目还得为 Swift、C#、Go 分别维护一套模型,成本高且容易出 Bug。
核心能力与工作方式
这个技能把 quicktype 的能力封装成可调用的技能,核心是“输入-生成-输出”的闭环:
- 输入支持
JSON 样本数据、JSON Schema、TypeScript 类型定义以及GraphQL 查询,无需手写模型骨架; - 输出直接生成目标语言的强类型模型和配套的序列化/反序列化代码,覆盖 Swift、C#、Go、Python、Rust、Java、Kotlin 等 20 余种语言;
- 作为 JavaScript 函数使用时,几行代码就能生成类型,例如
const { lines: pythonPerson } = await quicktypeJSONSchema('python', 'Person', jsonSchemaString);。
适用边界与注意点
生成结果的质量高度依赖输入质量:如果样本数据字段不全、JSON Schema 规则模糊,输出的类型可能需要手动补充或调整;部分语言的类型映射存在差异(比如 Go 没有内置泛型时,复杂嵌套结构的处理需要适配);另外,序列化代码依赖各语言的生态(如 Python 的 pydantic、Rust 的 serde),生成后需结合实际项目库做兼容性校验。
使用场景
- 跨语言项目需要为 Swift、Go、Rust 同时维护 API 数据模型,手动编写易出错且重复劳动
- 处理第三方 API 返回的零散 JSON 样本数据,需要快速生成准确的类型定义和序列化代码
- 项目中已有 TypeScript 类型定义,需要同步生成 Python、Kotlin 等其他语言的对应类型模型
- 基于 GraphQL 查询构建多端应用,需要从查询结果自动生成各端的强类型数据模型
适合人员
- 跨语言全栈开发者,需要避免为不同语言重复编写和维护类型模型
- 后端 API 开发者,需要从 JSON Schema 快速生成多语言的序列化与反序列化代码
- 数据处理工程师,经常处理零散 JSON 数据并需要将其转换为可复用的类型定义
- 前端开发者,需要将 TypeScript 类型同步为其他后端或客户端语言的类型模型