JSON 转 C# 实体类

生成 POCO:自动属性、PascalCase 命名、JsonPropertyName 映射、List<T> 集合。

.NET 项目消费 JSON API,第一步是把响应结构变成 C# 类:属性名要 PascalCase(C# 规范),JSON 键多是 camelCase,手工翻译既慢又容易在嵌套处漏属性。本工具按结构展开成 POCO 集:嵌套对象独立成类,属性自动生成 get; set;,命名差异用 System.Text.Json 的 [JsonPropertyName] 补齐。

类型映射:整数 int、小数 double、布尔 bool、字符串 string、数组 List<T>;null 字段带 ? 可空标注。数组根生成 List<object?> 兜底或取首元素建模。

为什么选 System.Text.Json 而不是 Newtonsoft

System.Text.Json 是 .NET Core 3.0+ 的内置序列化器,无额外依赖、性能更好,新项目的事实默认。需要 Newtonsoft.Json(JSON.NET)的存量项目,把 [JsonPropertyName] 换成 [JsonProperty] 即可,映射键一致。

可空引用类型的标注策略

输出按「字段可能为 null」的最保守形态标注 object?;int/double/bool 这类值类型天然不可空。项目若启用了 <Nullable>enable</Nullable>,把确定必填的引用属性去掉 ? 即可收紧。

常见问题

生成代码需要什么运行时?
.NET Core 3.0+ / .NET 5+ 自带 System.Text.Json;.NET Framework 需要装 System.Text.Json NuGet 包或改用 Newtonsoft 注解。
字段和属性怎么选?
生成的是自动属性(C# 序列化的标准形态)。System.Text.Json 默认只序列化公共属性,公共字段需要额外配置——遵循默认,少踩坑。
嵌套集合(List<List<T>>)支持吗?
支持,类型递归推断;嵌套对象照常独立成类。

相关工具