免费在线 JSON 到 C# 类生成器
粘贴 JSON 并获取带有推断类型、嵌套类和数组的 List<T> 的 C# 类定义。选择 POCO 类或 C# 9+ 记录、PascalCase 属性名称以及 Newtonsoft.Json 或 System.Text.Json 序列化属性。
设置根类名称和可选命名空间,然后将生成的代码复制到您的 .NET 项目中。所有转换都在您的浏览器中运行 - 不会上传任何内容。
Frequently Asked Questions
What is the difference between POCO and record?
POCO (Plain Old CLR Object) classes are mutable reference types with get/set properties - the traditional C# approach. Records (C# 9+) are immutable by default with value-based equality. Use records for DTOs and API models; POCOs when you need mutable objects.
Which JSON library attributes are supported?
Dokall supports Newtonsoft.Json (JsonProperty attributes) and System.Text.Json (JsonPropertyName attributes). Choose based on your project's JSON serializer. System.Text.Json is the modern default in .NET Core 3+.
How are C# property names generated?
Property names use PascalCase by default, following C# conventions. JSON camelCase keys are converted: firstName becomes FirstName. You can set a namespace and root class name before generating.
How are arrays and nested objects handled?
JSON arrays become List<T> with the element type inferred. Nested objects become separate nested classes. Deep nesting produces nested class definitions within the root class.
Can I use this for Entity Framework models?
The generated classes work as DTOs and API models. Entity Framework entities typically need additional attributes (Key, Required, navigation properties) that are not inferred from JSON. Use the output as a starting point and add EF-specific annotations manually.