- POCO (Plain Old CLR Object)
- Аббревиатура «обычного CLR-объекта» в C#/.NET, ограничения: открытый конструктор по умолчанию + private поля + открытые свойства { get; set; } + отсутствие зависимостей от фреймворка. То, что генерирует этот инструмент, — стандартный POCO.
- record
- Неизменяемый тип объекта передачи данных, представленный в C# 9+, использует равенство значений, а не равенство ссылок. После генерации в этом инструменте можно вручную изменить на record, подходит для сценариев, таких как DTO, модели ответов API, неизменяемая конфигурация.
- [JsonProperty]
- Атрибут сопоставления полей Newtonsoft.Json. Этот инструмент по умолчанию добавляет [JsonProperty("исходный ключ")] для каждого поля, гарантируя, что имена полей PascalCase могут правильно десериализовать JSON в snake_case.
- Newtonsoft.Json
- Также известный как Json.NET, самая популярная библиотека JSON в экосистеме .NET. Имеет самую богатую экосистему и лучшую совместимость, поддерживается практически всеми проектами .NET. Использовался по умолчанию до ASP.NET Core 3.0, после 3.0 был заменен на System.Text.Json, но по-прежнему может быть совместим через пакет NuGet.
- System.Text.Json
- Высокопроизводительная библиотека JSON, встроенная в .NET Core 3.0+. Быстрый запуск, низкое потребление памяти, дружелюбна к AOT, включает [JsonPropertyName] (соответствует [JsonProperty] Newtonsoft) и настраиваемую политику именования JsonNamingPolicy.
- Nullable<T>
- Тип в C#, указывающий, что тип значения может быть null (например long? / bool?). Этот инструмент автоматически выводит поля null в JSON как Nullable<T>, чтобы избежать исключений нулевой ссылки во время компиляции.
- List<T>
- Обобщенный тип списка в фреймворке коллекций .NET. Этот инструмент автоматически преобразует массивы JSON в List<T>, T автоматически выводится из первого элемента массива (например ["a"] → List<string>).
- namespace
- Ключевое слово пространства имен в C# для организации классов, аналогично package в Java. Код, сгенерированный этим инструментом, по умолчанию не имеет namespace, можно добавить вручную (например namespace MyApp.Models).
- ASP.NET Core
- Открытый кроссплатформенный веб-фреймворк Microsoft. Классы POCO, сгенерированные этим инструментом, могут напрямую использоваться в сценариях, таких как привязка модели [FromBody] ASP.NET Core Controller, Minimal API, параметры компонентов Blazor.
- Unity
- Самый популярный в мире игровой движок, язык скриптов — C#. Классы POCO, сгенерированные этим инструментом, могут использоваться для парсинга ответов сетевого API Unity, моделирования данных конфигурации ScriptableObject.
- Snake_case → PascalCase
- Преобразование правил именования полей. Преобразование именования snake_case (например user_name, created_at) в именование PascalCase (например UserName, CreatedAt), соответствие официальным правилам именования .NET.
- quicktype-core
- Базовая зависимость этого инструмента — открытая многоязычная библиотека генерации типов JSON (проект quicktype), поддерживающая более десяти языков, включая C#, Java, TypeScript, Rust, Go, Swift и т.д., выполняется в браузере на основе TypeScript + WebAssembly.
- .NET MAUI
- Кроссплатформенный UI-фреймворк Microsoft (.NET Multi-platform App UI), код C# может совместно использоваться на iOS/Android/Windows/macOS. POCO, сгенерированные этим инструментом, подходят в качестве Model для привязки данных XAML в MAUI.
- Blazor
- SPA-фреймворк Microsoft на основе WebAssembly, имеет два режима: Server и WebAssembly. Классы C#, сгенерированные этим инструментом, могут использоваться для параметров компонентов Blazor, моделей ответов API строгого типа, повышения эффективности полностековой разработки на одном языке.
- HttpClient.GetFromJsonAsync
- Метод расширения .NET 5+/System.Net.Http.Json, завершает HTTP GET + десериализацию JSON в одну строку. В сочетании с POCO, сгенерированными этим инструментом, может значительно упростить код клиента HTTP API.
- JsonNamingPolicy
- Класс в System.Text.Json, управляющий правилами сопоставления между именами полей JSON и именами свойств C# (например CamelCase, SnakeCaseLower). Newtonsoft.Json реализуется через аннотацию [JsonProperty] или ContractResolver.
- IOptions<T>
- Основной интерфейс шаблона Options в .NET, связывает подструктуру appsettings.json с классом строгого типа. POCO, сгенерированные этим инструментом, в сочетании с IConfiguration.Bind могут напрямую использоваться как реализация IOptions<T>.