JSON в C#

Генерация классов или record C# для System.Text.Json или Newtonsoft.Json

Ввод JSON

Параметры

Модель
Стиль типа
Сериализация

Вывод C#

Вставьте JSON или загрузите пример, чтобы сгенерировать код C#.

Что генерирует JSON to C#

JSON to C# превращает ответ API или любой пример JSON в типы C# в одном файле с пространством имён уровня файла. Режим Class создаёт свойства { get; set; }; режим Record создаёт позиционные записи и размещает атрибуты на сгенерированных свойствах через [property: ...]. System.Text.Json использует [JsonPropertyName("key")], а Newtonsoft.Json — [JsonProperty("key")]. Свойство никогда не получает имя содержащего его типа, поскольку C# это запрещает.

Как использовать
  1. 1.Вставьте JSON, загрузите или перетащите файл .json либо загрузите один из примеров.
  2. 2.Задайте имя корневого типа и необязательное пространство имён, например Company.Project.Models.
  3. 3.Выберите стиль типа, именование свойств и ссылочные типы, допускающие null.
  4. 4.Выберите сериализатор и правило для атрибутов, затем скопируйте код или скачайте <Root>.cs.
Как выводятся типы
  • •Проверяется каждый элемент массива, а не только первый, и объекты одного массива объединяются.
  • •Ключ, отсутствующий в части объектов, необязателен; ключ, который иногда равен null, допускает null. Эти случаи различаются.
  • •1 и 2.5 в одной позиции расширяются до дробного числа; о других смешениях выводится заметка.
  • •Пустые массивы и значения, которые всегда равны null, не дают сведений о типе, поэтому используется обобщённый тип, а заметка объясняет причину.
  • •Сопоставление типов: строка → string, целое число → int, long, ulong или decimal в зависимости от диапазона, дробное число → double, логическое значение → bool, массив → List<T>, объект → class или record, отсутствует или null → T?, неизвестное или смешанное → object.
  • •Члены required требуют C# 11 / .NET 7 или новее; тогда System.Text.Json отклоняет JSON, в котором нет обязательного ключа.
Ограничения и конфиденциальность

Пример показывает, как данные выглядели один раз, а не полный контракт API. Проверьте необязательные поля, обобщённые типы и разрядность чисел, прежде чем полагаться на код. Ввод ограничен 5 МБ и 256 уровнями вложенности; начиная с 2 МБ генерация ждёт нажатия кнопки «Сгенерировать». Всё выполняется в браузере, JSON никуда не загружается. С System.Text.Json свойства типа object после десериализации содержат JsonElement.

CodingTool официально запущен на

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch