JSON sang C#

Tạo class hoặc record C# từ JSON với Newtonsoft hoặc System.Text.Json.

Công cụ tạo class C# từ JSON miễn phí

Dán JSON và nhận định nghĩa class C# với type suy luận, class lồng nhau và List<T> cho mảng. Chọn POCO class hoặc record C# 9+, tên property PascalCase và attribute serialization.

Đặt tên root class và namespace tùy chọn, rồi sao chép code vào dự án .NET. Toàn bộ chuyển đổi chạy trong trình duyệt - không có gì được upload.

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.