Omnikit
РазработкаФайлыФинансыВсе инструменты
Ctrl K
Инструменты для разработкиИнструменты для файловФинансовые калькуляторыВсе инструменты
ГлавнаяИнструменты для разработчиковКонвертер JSON в классы C#
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Конвертер JSON в классы C#

разработка

Превратите пример JSON в классы или записи C# для System.Text.Json или Newtonsoft.Json

Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..

Вставьте пример JSON и получите классы или записи (records) C# со свойствами в PascalCase и ключом JSON в атрибуте JsonPropertyName или JsonProperty. Целые числа становятся int, а свыше 2 147 483 647 — long, любая дробь делает поле double, а значение null или отсутствующее становится nullable, например int?.

Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал

Дальше:
  • JSON в TypeScript Создайте интерфейсы или типы TypeScript по образцу JSON
  • Форматирование и проверка JSON Форматирование, проверка, минификация и сортировка JSON с точным местом ошибки

Как преобразовать JSON в класс C#

1

Вставьте пример JSON, например ответ API, в левое поле.

2

Классы C# появляются по мере ввода, по одному на объект, со свойствами в PascalCase и ключом JSON в атрибуте у каждого.

3

Выберите System.Text.Json или Newtonsoft.Json, а также записи с init, если предпочитаете неизменяемые модели.

4

Нажмите «Копировать» или «Скачать», чтобы сохранить Models.cs, и десериализуйте в корневой класс.

О конвертере JSON в классы C#

C# читает JSON в типизированные классы, и каждому свойству нужен правильный тип и способ найти свой ключ. Этот конвертер пишет такие классы по примеру, так что длинный ответ API превращается в компилируемую модель за одну вставку.

Как выбираются типы.

Значение JSON Тип C#
"text" string
true / false bool
42 (только целые числа) int или long за пределами 32 бит
4.5 (встретилась любая дробь) double
null и ещё какой-то тип int?, string?
только null или смешанные виды object?
[ ... ] List<...>
{ } пустой Dictionary<string, object>
{ ... } отдельный класс

Ключи и имена. Свойства пишутся в PascalCase, так что user_name становится UserName, а avatar_url — AvatarUrl. Каждое свойство несёт исходный ключ в атрибуте, потому что System.Text.Json по умолчанию сравнивает имена с учётом регистра; Newtonsoft вместо этого получает [JsonProperty]. Свойство, имя которого совпало бы с именем его класса, что компилятор отвергает как CS0542, получает добавку Value.

Массивы объектов. Все объекты массива сливаются в один класс, поэтому ключ, который есть только в некоторых из них, всё равно присутствует и делается nullable, чтобы его отсутствие читалось как null, а не как 0 или false. Два объекта с точно одинаковыми ключами и типами используют один класс.

Параметры. Записи с init дают неизменяемые модели, сравниваемые по значению. Корневой класс называется Root, если вы не дадите ему имя. Если сам JSON — массив или одиночное значение, комментарий подсказывает, в какой тип десериализовать, например List.

Каждый результат проверен обратным чтением C# и сверкой с ним 9 примеров по правилам сериализаторов. Ничто из вставленного не покидает браузер.

Частые вопросы

Как преобразовать JSON в класс C#?

Вставьте пример JSON в конвертер, и рядом появятся классы C#, по одному на объект, с атрибутом JsonPropertyName у каждого свойства. Скопируйте их в проект и читайте JSON через JsonSerializer.Deserialize<Root>(json) или через JsonConvert.DeserializeObject<Root>(json), если выбран Newtonsoft.

Зачем у каждого свойства атрибут JsonPropertyName?

System.Text.Json по умолчанию сравнивает имена свойств с учётом регистра, поэтому свойство UserName никогда не получило бы ключ user_name. Атрибут называет точный ключ, что сохраняет имена C# в PascalCase и при этом читает JSON без настроек сериализатора и политики именования.

Когда свойство nullable, например int? или string?

Свойство nullable, когда в примере у него встречается null или когда некоторые объекты массива пропускают его ключ. Без вопросительного знака отсутствующее число молча читалось бы как 0, а отсутствующий флаг как false, поэтому nullable-тип отличает отсутствие от нуля.

Что выбрать: классы или записи?

Записи с методами доступа init подходят для моделей, которые вы только читаете: их свойства не меняются после десериализации, а две записи с одинаковыми значениями равны. Классы с set подходят для моделей, которые вы заполняете или редактируете. Оба варианта работают с System.Text.Json начиная с .NET 5 и с Newtonsoft.Json.

Какие типы получают числа в C#?

Целые числа становятся int, или long, если значение больше 2 147 483 647, а поле становится double, как только любое значение в примере имеет дробную часть. Значения разных видов, например число в одном элементе и текст в другом, становятся object?, который хранит исходное значение JSON.

Загружается ли мой JSON куда-нибудь?

Нет. Преобразование выполняется в вашем браузере без запросов к серверу, и JSON не сохраняется, так что ответы API с токенами или личными данными остаются на вашем устройстве. Закройте вкладку, и ничего не останется.

Источники

  • Microsoft Learn, System.Text.Json: customize property namesJsonPropertyName, and case-sensitive matching by default
  • Newtonsoft.Json documentation, JsonPropertyAttribute nameJsonProperty("key") on a property
  • Microsoft Learn, .NET naming guidelinesPascalCase types and properties
  • Microsoft Learn, compiler error CS0542A member cannot have the same name as its enclosing type

Последняя проверка: 16 октября 2026 г..

Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.

Всё ещё не получается? Задайте вопрос об инструменте «Конвертер JSON в классы C#» и ответить может любой, кто знает. Учётная запись не нужна.

Похожие инструменты

Все инструменты для разработчиков
Кодирование и декодирование Base64Текст и файлы в Base64 и обратно, с режимом для URL и предпросмотром изображенийКонвертер Unix-времениМетки времени Unix в даты и даты в метки времени, в любом часовом поясеJSON в TypeScriptСоздайте интерфейсы или типы TypeScript по образцу JSONКонвертер CSV в JSONПреобразуйте CSV в JSON и JSON в CSV с предпросмотром таблицыКонвертер YAML в JSONПреобразуйте YAML в JSON и JSON в YAML с разрешёнными якорямиКодирование и декодирование URLПроцентное кодирование и декодирование текста и URL, с разбором каждой части ссылкиКонвертер систем счисленияДвоичная, восьмеричная, десятичная, шестнадцатеричная и любая система до 36, точно при любом размере, с дополнительным кодомColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Был ли этот инструмент полезен?
Omnikit

Небольшие задачи прямо в вашем браузере. Бесплатно, быстро и конфиденциально. Файлы никогда не загружаются на сервер.

Файлы

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Разработка

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Финансы

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
РуководстваВопросыО сайтеКак мы проверяемБиблиотека законов (бета)КонфиденциальностьУсловияРаскрытие информацииКонтактыMore: Exam practice (UGC NET Paper 1)Работает в вашем браузере. Ничего не загружается на сервер. © 2026 Omnikit (theomnikit.com)