# JSON в C# Class

Преобразует данные JSON в классы C# со свойствами PascalCase, атрибутами JsonPropertyName и выводом вложенных типов

> Каноническая страница: https://elysiatools.com/ru/tools/json-to-csharp

- **Категория:** Development

- **Ключевые слова:** json, csharp, c#, dotnet, class, конвертер

## Обзор

Онлайн-конвертер JSON в C# Class позволяет мгновенно преобразовывать структуры данных JSON в строго типизированные классы C#. Инструмент автоматически генерирует свойства в стиле PascalCase, добавляет атрибуты JsonPropertyName для корректной десериализации в .NET и поддерживает вложенные объекты, а также опциональные nullable-типы.

## Входные данные

- **JSON ввод** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Имя корневого типа** (text): Root
- **Свойства, допускающие null** (checkbox)

## Когда использовать

- При интеграции внешних REST API, возвращающих ответы в формате JSON, для создания моделей данных в проектах на .NET.
- При написании модульных тестов, когда необходимо быстро сгенерировать C# классы на основе тестовых JSON-фишек.
- При миграции конфигурационных файлов или DTO из JavaScript/TypeScript стека в C# бэкенд.

## Как это работает

- Вставьте исходный текст JSON в поле ввода.
- Укажите имя корневого класса и выберите, нужно ли делать свойства nullable (допускающими null).
- Нажмите кнопку конвертации для автоматического разбора структуры, генерации вложенных классов и добавления атрибутов System.Text.Json.

## Сценарии использования

- Генерация DTO (Data Transfer Objects) для HttpClient при работе со сторонними веб-службами.
- Создание строго типизированных моделей конфигурации для appsettings.json в ASP.NET Core.
- Быстрое прототипирование структур данных на основе сырых логов или ответов базы данных в формате JSON.

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

### Поддерживает ли конвертер вложенные объекты?

Да, инструмент автоматически извлекает вложенные структуры JSON и генерирует для них отдельные связанные классы C#.

### Какие атрибуты сериализации используются в сгенерированном коде?

По умолчанию генерируются атрибуты [JsonPropertyName("...")] из пространства имен System.Text.Json.

### Можно ли сделать свойства nullable?

Да, для этого активируйте опцию «Свойства, допускающие null» перед генерацией кода.

### Как переименовать главный класс?

Введите желаемое название в поле «Имя корневого типа» (по умолчанию используется Root).

### Преобразуются ли имена свойств в PascalCase?

Да, имена свойств автоматически приводятся к стандарту PascalCase, а исходные ключи сохраняются в атрибутах JsonPropertyName.

## Связанные инструменты

- [Генератор Data URI](https://elysiatools.com/ru/tools/data-uri-generator): Преобразует файлы в Data URI (Base64 или процентное кодирование) для встраивания изображений, шрифтов и ресурсов прямо в HTML, CSS или Markdown
- [Конвертер JSON Schema в Zod](https://elysiatools.com/ru/tools/json-schema-to-zod-schema-converter): Преобразует JSON/YAML-описания JSON Schema в готовый к использованию в TypeScript код Zod с вложенными объектами, массивами, enum и типичными правилами валидации
- [JSON в Go Struct](https://elysiatools.com/ru/tools/json-to-go): Преобразует данные JSON в определения struct Go с json-тегами, экспортируемыми полями PascalCase и выводом вложенных типов
- [JSON в Java Class](https://elysiatools.com/ru/tools/json-to-java): Преобразует данные JSON в классы Java с аннотациями Jackson @JsonProperty, приватными полями, getter и setter
- [JSON в Kotlin Data Class](https://elysiatools.com/ru/tools/json-to-kotlin): Преобразует данные JSON в data-классы Kotlin с аннотациями @SerializedName, поддержкой null и выводом вложенных типов
- [JSON в Rust Struct](https://elysiatools.com/ru/tools/json-to-rust): Преобразует данные JSON в struct Rust с derive-макросами serde Serialize/Deserialize, полями snake_case и атрибутами serde rename
- [JSON в TypeScript](https://elysiatools.com/ru/tools/json-to-typescript): Преобразует данные JSON в интерфейсы TypeScript или псевдонимы типов с поддержкой объединений, необязательных полей и вложенных объектов
- [Конвертер логов в sequence diagram](https://elysiatools.com/ru/tools/log-sequence-diagram-converter): Преобразует структурированные сервисные логи в Mermaid или PlantUML sequence diagrams с пометками задержек и ошибок

## Примеры

- [JSON Примеры Terraform Plan](https://elysiatools.com/ru/samples/terraform-plan-json-samples): Файлы Terraform plan JSON для визуализации зависимостей и проверки изменений, похожие на terraform show -json
- [Примеры JSON чата](https://elysiatools.com/ru/samples/chat-transcript-json): Примеры JSON для чат-транскриптов с несколькими ролями
- [Примеры JSON](https://elysiatools.com/ru/samples/json): Примеры формата JSON (JavaScript Object Notation) от простых до сложных структур
- [Примеры JSON для Rich Text](https://elysiatools.com/ru/samples/rich-media-json): Примеры JSON для редакторов rich text (TipTap, Quill, Slate)

## Связанные материалы

- [Генераторы типизированного кода из JSON](https://elysiatools.com/ru/hubs/json-to-typed-code-generators): Генерируйте типизированные модели из JSON или schema для TypeScript, Go, Rust, Kotlin, Java, C# и Zod-валидации.
