
Серіалізація JSON
System.Text.Json, JsonSerializer, custom converters, naming policies, обробка null
1Який основний namespace для серіалізації JSON у сучасному .NET?
Який основний namespace для серіалізації JSON у сучасному .NET?
Відповідь
System.Text.Json — це офіційний namespace для серіалізації JSON у .NET Core 3.0+. Він поступово замінює Newtonsoft.Json (Json.NET), оскільки є продуктивнішим, інтегрованим у фреймворк та оптимізованим для сучасних сценаріїв. Newtonsoft.Json залишається доступним через NuGet для зворотної сумісності або розширених функцій, недоступних у System.Text.Json.
2Який метод використовувати для серіалізації об'єкта C# у рядок JSON?
Який метод використовувати для серіалізації об'єкта C# у рядок JSON?
Відповідь
JsonSerializer.Serialize перетворює об'єкт C# на рядок JSON. Цей статичний метод приймає об'єкт для серіалізації та, за бажанням, JsonSerializerOptions для налаштування поведінки. Serialize повертає string, тоді як SerializeToUtf8Bytes повертає byte[] для оптимізації продуктивності, уникаючи виділення string.
3Яка типова угода про іменування System.Text.Json для властивостей JSON?
Яка типова угода про іменування System.Text.Json для властивостей JSON?
Відповідь
За замовчуванням System.Text.Json точно зберігає імена властивостей C# (PascalCase з урахуванням регістру). Якщо властивість C# називається UserName, JSON міститиме UserName. Щоб отримати camelCase (userName), потрібно налаштувати JsonSerializerOptions з PropertyNamingPolicy = JsonNamingPolicy.CamelCase. Це відрізняється від Newtonsoft.Json, який за замовчуванням використовує camelCase.
Як десеріалізувати рядок JSON у типізований об'єкт C#?
Який атрибут використовувати, щоб ігнорувати властивість під час серіалізації JSON?
+17 питань зі співбесід
Інші теми співбесід .NET
Основи C#
LINQ & Delegates
Основи мови C#
Основи ASP.NET Core
Життєвий цикл запиту в ASP.NET Core
Configuration & Settings
Життєвий цикл застосунку
Dependency Injection
Entity Framework Core
Minimal APIs
Розробка Web API
Async в ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Entity Framework Core просунутий
Розширені можливості C#
Clean Architecture
Logging, Monitoring & Observability
Модульне тестування та xUnit
Інтеграційні тести
Docker & Containerization
Керування пакетами NuGet
Memory Management & GC
Реактивне програмування
Async/await і патерни
.NET Design Patterns
Оптимізація продуктивності
Безпека та Best Practices
SignalR і реальний час
Архітектура мікросервісів
Опануй .NET для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно