.NET

JSON Serialization

System.Text.Json, JsonSerializer, custom converters, naming policies, null handling

20 питань зі співбесід·
Mid-Level
1

What is the main namespace for JSON serialization in modern .NET?

Відповідь

System.Text.Json is the official namespace for JSON serialization in .NET Core 3.0+. It progressively replaces Newtonsoft.Json (Json.NET) as it is more performant, integrated into the framework and optimized for modern scenarios. Newtonsoft.Json remains available via NuGet for backward compatibility or advanced features not available in System.Text.Json.

2

Which method to use to serialize a C# object to a JSON string?

Відповідь

JsonSerializer.Serialize converts a C# object to a JSON string. This static method accepts the object to serialize and optionally JsonSerializerOptions to customize behavior. Serialize returns a string, while SerializeToUtf8Bytes returns a byte[] to optimize performance by avoiding string allocation.

3

What is the default naming convention of System.Text.Json for JSON properties?

Відповідь

By default, System.Text.Json preserves exactly the C# property names (case-sensitive PascalCase). If a C# property is named UserName, the JSON will contain UserName. To get camelCase (userName), configure JsonSerializerOptions with PropertyNamingPolicy = JsonNamingPolicy.CamelCase. This differs from Newtonsoft.Json which uses camelCase by default.

4

How to deserialize a JSON string into a typed C# object?

5

Which attribute to use to ignore a property during JSON serialization?

+17 питань зі співбесід

Опануй .NET для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно