Конвертер JSON у C# — генератор класів
Перетворіть JSON на класи C# онлайн. Моделі з атрибутами System.Text.Json або Newtonsoft.Json, nullable-типами та List<T> — безкоштовно й приватно в браузері.
🔒 Працює повністю у вашому браузері — нічого не завантажуєтьсяПеретворіть JSON на модельні класи C#
Цей конвертер JSON у C# читає зразок JSON і генерує строго типізовані класи C#, що відповідають його структурі. Кожен об'єкт стає public partial class, кожна властивість отримує назву в PascalCase з атрибутом серіалізатора, який зіставляє її з оригінальним ключем JSON, а вкладені об'єкти стають окремими класами з назвами за властивістю, що їх містить. Масиви перетворюються на List<T> або T[], дати ISO — на DateTimeOffset, а значення, які іноді відсутні або дорівнюють null, виводяться як nullable-типи, тож ваш код компілюється з реальними відповідями, а не з ідеалізованими.
Усередині інструмент використовує quicktype — перевірений рушій виведення типів, який об'єднує всі елементи масиву, перш ніж визначити тип. Тож список замовлень, де лише частина замовлень має купон, дасть один клас Order з необов'язковою властивістю Coupon, а не клас, що підходить лише для першого елемента.
System.Text.Json чи Newtonsoft
Сучасні проєкти .NET зазвичай покладаються на System.Text.Json, і саме він обраний тут за замовчуванням: властивості позначаються [JsonPropertyName], а вивід містить фабричний метод FromJson, метод розширення ToJson і налаштування конвертерів для дат ISO. Якщо у вашому коді досі використовується Json.NET, перемкніть серіалізатор на Newtonsoft — і отримаєте атрибути [JsonProperty] з тими самими допоміжними методами на основі JsonConvert. Оберіть Classes only, якщо потрібні лише POCO для вставки в наявну теку DTO, і задайте простір імен, щоб файл одразу вписався у ваше рішення.
Поради для точних типів C#
Вставте найбагатший зразок, який зможете знайти: додайте необов'язкові поля, порожні та заповнені масиви й більш ніж один елемент масиву, щоб виведення типів побачило, які властивості є завжди. Перейменуйте кореневий клас із Root на щось змістовне, наприклад OrderResponse, перш ніж завантажувати — назва файлу походить від нього. Після вставки коду у Visual Studio чи Rider перегляньте типи, які зразок не може показати: цілочисельний ID, що може перевищити long, рядок, який насправді є enum, або грошові суми, яким краще підходить decimal. Усе працює локально, тож відповіді з production можна використовувати безпечно.
Як користуватися
- Вставте JSONВставте об'єкт або масив JSON чи натисніть Load sample, щоб спробувати.
- Налаштуйте параметриОберіть назву кореневого класу, простір імен, серіалізатор і тип колекції.
- Скопіюйте класиСкопіюйте згенерований C# або завантажте його як файл .cs для вашого проєкту.
Часті запитання
Чи підтримує він System.Text.Json і Newtonsoft.Json?
[JsonPropertyName] або [JsonProperty] та допоміжні конвертери для цієї бібліотеки.Чи можна отримати прості класи без допоміжного коду серіалізатора?
Як типізуються дати, decimal і null?
DateTimeOffset, числа з дробовою частиною — double, а поля, яких бракує або що дорівнюють null у деяких зразках, стають nullable.