JSON转TypeScript
将JSON数据转换为TypeScript接口或类型定义,支持嵌套对象和数组
JSON转TypeScript工具
将JSON数据自动转换为TypeScript接口或类型定义,支持嵌套对象和数组,一键生成代码。
转换选项
使用说明
- • 在左侧输入 JSON 数据,或点击"加载示例"快速体验
- • 可调整转换选项:类型名称、使用 type/interface、字段是否可选、是否导出
- • 点击"转换"按钮,右侧会显示生成的 TypeScript 类型定义
- • 支持嵌套对象、对象数组、混合类型数组等复杂结构
- • 点击"复制代码"可快速复制到剪贴板,直接在项目中使用
关联介绍
什么是Markdown
Markdown是一种轻量级标记语言,使用简单符号(如#、*、-、[]())格式化文本。Markdown易于书写和阅读,可转换为HTML,广泛用于文档写作、博客、README等场景。主流平台GitHub、知乎、简书都支持Markdown。
JSON
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,使用键值对和数组组织数据。
什么是TypeScript
TypeScript是微软开发的JavaScript超集,增加了类型系统。TS代码需编译为JS运行,支持类型推断、接口、泛型、枚举等特性。TypeScript让大型前端项目更可控,IDE提供更好的智能提示。典型用法:定义接口描述API响应,函数参数声明类型,编译时检查类型错误。
什么是接口
接口(Interface)是TypeScript的核心概念,定义对象的结构契约。语法:interface User { name: string; age: number }。接口可继承(extends)、可选属性(?)、只读属性(readonly)。类型检查在编译时进行,不影响运行时性能。合理使用接口让代码更清晰、协作更顺畅。
什么是泛型
泛型是类型系统中的参数化机制,让函数/接口可工作于多种类型。语法:function identity
什么是枚举
枚举(Enum)定义一组命名的常量值。TypeScript支持数字枚举(默认从0递增)和字符串枚举。如 enum Status { Active = 1, Inactive = 0 }。枚举让代码更易读,避免魔法数字,增加可维护性。缺点是增加编译后代码体积。
什么是可选链
可选链(?.)安全访问深层嵌套属性,如 data?.user?.address?.city。属性不存在时返回undefined而非报错。比传统写法 if(obj.a && obj.a.b) 更简洁。可选链可链式使用,也可用于方法调用(func?.())和数组索引(arr?.[0])。是防御性编程的利器。
什么是JSON5
JSON5是JSON的超集,保持JSON语法的同时增加人性化的语法特性。主要改进:支持单行注释(//或/* */)、支持尾随逗号、允许键名不加引号、允许单引号字符串、允许Infinity、NaN等JavaScript字面量。JSON5让配置文件更易读写,如Vite、Next.js等工具使用json5格式的配置文件。解析JSON5需使用专门的库如json5 npm包。