JSON转C#实体类
在线JSON转C#实体类工具,基于 quicktype 引擎将JSON自动生成C#类代码。支持自定义根类名、可空引用类型,一键生成含属性与 JSON 特性的强类型实体类,适用于 API 对接、数据建模与反序列化。
原始大小
0 字符
代码大小
0 字符
类数量
0 个
转换状态
等待生成
JSON 输入
等待输入
C# 实体类代码
—
功能特性
一键生成
基于 quicktype 引擎,将 JSON 自动推断类型并生成可直接编译的 C# 实体类代码,省去手工编写属性的繁琐工作。
JSON 特性标注
自动为属性添加 [JsonPropertyName] 特性,保留原始 JSON 字段名映射,反序列化时大小写与命名风格无缝对接。
嵌套类型推断
自动识别嵌套对象与数组,生成对应的子类与 List<T> 集合属性,复杂结构也能完整建模。
自定义根类名
支持指定生成的根类名称,自动规范化为合法的 C# 标识符(过滤非法字符、数字开头加下划线、首字母大写)。
可空引用类型
可选启用 C# 8+ 可空引用类型(--nullable),为可能缺失的字段生成可空注解,提升空安全与编译期检查。
安全可靠
JSON 解析与代码生成在后端完成,临时文件即用即删,不存储您的数据,保障数据隐私安全。
使用说明
如何使用 JSON 转 C# 实体类工具?
- 在左侧输入框中粘贴或输入需要转换的 JSON 数据。
- 在「根类名」输入框中指定生成的根类名称(默认
RootObject,自动规范化为合法标识符)。 - (可选)勾选「可空引用类型」启用 C# 8+ 可空注解(
--nullable)。 - 点击「生成C#类」按钮,右侧将显示生成的 C# 实体类代码。
- 上方统计卡片显示原始大小、代码大小、类数量和转换状态。
- 点击「复制代码」可将代码复制到剪贴板,或点击「下载」保存为
.cs文件。 - 点击「示例」按钮加载演示数据,点击「清空」清除输入和结果。
生成规则
- 类型推断:字符串推断为
string,整数推断为long,浮点数推断为double,布尔推断为bool,null 推断为可空。 - 对象:JSON 对象生成对应的 C# 类,属性名转为 PascalCase,并通过
[JsonPropertyName]保留原始字段名。 - 数组:JSON 数组生成
List<T>集合属性,元素类型由数组内容推断;嵌套对象数组生成子类集合。 - 嵌套结构:嵌套对象自动拆分为独立的子类,并以 PascalCase 命名,保持类型层级清晰。
- 可空注解:开启「可空引用类型」后,引用类型属性标注为可空(
string?),便于编译期空安全检查。 - 类名规范:根类名仅保留字母数字下划线,数字开头加下划线前缀,首字母自动大写。
使用场景
- API 对接:根据接口返回的 JSON 快速生成 C# 反序列化模型,加速 HttpClient 调用开发。
- 数据建模:将 JSON 配置或数据样本转换为强类型实体类,用于业务逻辑与数据绑定。
- 反序列化:生成含
[JsonPropertyName]特性的模型,配合System.Text.Json直接反序列化。 - 代码生成:作为脚手架快速产出实体类骨架,再在此基础上补充业务方法与校验逻辑。
常见问题
JSON 转 C# 实体类工具是免费的吗?
是的,本工具完全免费,无需注册登录。JSON 数据发送到后端进行解析与代码生成,生成的临时文件即用即删,不在服务器存储,保障数据隐私安全。
「可空引用类型」选项有什么作用?
开启后会在 quicktype 命令中追加
--nullable 参数,生成的 C# 代码启用可空引用类型注解(C# 8+ 特性)。引用类型属性会标注为可空(如 string?),表示该字段在 JSON 中可能缺失或为 null,便于编译期空安全检查与可空上下文项目直接使用。
生成的代码使用哪个序列化库?
生成的 C# 实体类使用
[JsonPropertyName] 特性,基于 .NET 内置的 System.Text.Json 序列化。无需额外安装第三方库,直接使用 JsonSerializer.Deserialize<T>(json) 即可反序列化,性能优秀且依赖最少。
根类名有什么命名规则?
根类名会被自动规范化为合法的 C# 标识符:仅保留字母、数字、下划线,其余字符被过滤;若以数字开头则自动加下划线前缀;首字母自动大写。例如输入
my-config1 会被规范为 Myconfig1。留空时默认使用 RootObject。
嵌套对象和数组如何处理?
嵌套 JSON 对象会被拆分为独立的 C# 子类,并以 PascalCase 命名,主类通过属性引用子类,保持类型层级清晰。JSON 数组会生成
List<T> 集合属性,元素类型由数组内容推断;若数组元素是对象,则生成对应的子类集合。复杂嵌套结构也能完整建模。
生成代码时报 quicktype 错误怎么办?
本工具依赖服务器端安装的 quicktype 命令行工具进行代码生成。若提示「未找到 quicktype 命令」或执行失败,请联系管理员在服务器执行
npm install -g quicktype 安装。同时请确保输入的是合法的 JSON 数据,JSON 格式错误会在解析阶段给出明确提示。