quicktype · 官方在线版
JSON 一键生成 TypeScript/Java/Go 等类型定义
它解决什么问题
quicktype 把一段 JSON 直接编译成强类型代码:TypeScript 接口、Go struct、Java class、Swift、Kotlin、C# 等几十种语言。字段多、嵌套深的接口,手写类型定义又慢又容易漏,尤其是可选字段和 null 判断——quicktype 会从样本数据里推断出来。
把一段 JSON 直接变成 TypeScript 接口定义,省掉手敲类型的时间,接口字段多时尤其省事。
三个典型使用场景
- 拿到第三方 API 的返回样例,生成 TypeScript 类型定义
- 把一堆 JSON 日志转成 Go struct 做解析
- 从 GraphQL 响应生成 Kotlin data class
和 ToolHub 本地工具怎么配合
JSON 格式化:生成类型前先把 JSON 格式化看清楚结构,避免样本里有脏数据(本地工具,文件不上传)
命名风格转换:不同语言命名习惯不同(camelCase / snake_case),生成的字段名要批量统一(本地工具,文件不上传)
同类可替代方案
- CyberChef —— GCHQ 出品的数据解码/加密/转换瑞士军刀
- Transform —— JSON/YAML/TOML/TS 等几十种格式互转
- JSON Hero —— 高颜值 JSON 浏览器,结构一目了然
使用时要注意什么
只根据「样本」推断类型:样本里没出现的字段不会生成,样本里全是 null 的字段会被推断成 any;生产环境建议多喂几份覆盖不同分支的样本。
常见问题
quicktype 是免费的吗?
quicktype 是开源项目,采用 Apache-2.0 许可证,官方在线版可以免费使用,不需要为基本功能付费。ToolHub 只做收录与说明,不代管你的数据,也不提供账号或存储服务。
quicktype 适合什么场景?
最常见的是这几种:拿到第三方 API 的返回样例,生成 TypeScript 类型定义;把一堆 JSON 日志转成 Go struct 做解析;从 GraphQL 响应生成 Kotlin data class。判断标准很简单——如果你现在正为了这件事装一个几百 MB 的桌面软件,先用它试一次。
它和 ToolHub 的本地工具有什么区别?
ToolHub 的本地工具把代码放在你的浏览器里执行(WebAssembly 或原生 JS),文件不经过服务器;quicktype 由项目作者维护,数据在其服务器或你的浏览器中处理,具体取决于项目实现,使用前建议先看对方的数据政策。需要「绝对不上传」时可以改用站内同类工具。
用 quicktype 有什么限制?
只根据「样本」推断类型:样本里没出现的字段不会生成,样本里全是 null 的字段会被推断成 any;生产环境建议多喂几份覆盖不同分支的样本。
相关阅读
- CSV ↔ JSON —— CSV 与 JSON 数组互转,正确处理引号与换行(在浏览器内执行,不联网也能用)
- 数值统计 —— 用 Python statistics 计算均值/中位数/标准差/四分位(在浏览器内执行,不联网也能用)
- CSV 数据体检 —— pandas 自动分析 CSV:行列数、类型、缺失值、统计摘要(在浏览器内执行,不联网也能用)
- 全部数据类工具 —— 按分类筛选,含本地执行与目录直达
- CyberChef —— 同类别另一个选择
项目来源:github.com/glideapps/quicktype · License: Apache-2.0 · 分类:数据
官网地址:https://app.quicktype.io(新标签页打开 app.quicktype.io)
说明:本页是 ToolHub 对该开源项目的整理与推荐,工具由项目作者维护,版权与数据归原作者所有。官网无法访问时可能是临时故障或网络限制。
安全、快捷、开源工具及资源
无需安装、无需注册、无需命令行 —— 挑一个工具,填参数,出结果。