
Sérialisation JSON
System.Text.Json, JsonSerializer, custom converters, naming policies, null handling
1Quel est le namespace principal pour la sérialisation JSON dans .NET moderne ?
Quel est le namespace principal pour la sérialisation JSON dans .NET moderne ?
Réponse
System.Text.Json est le namespace officiel pour la sérialisation JSON dans .NET Core 3.0+. Il remplace progressivement Newtonsoft.Json (Json.NET) car il est plus performant, intégré au framework et optimisé pour les scénarios modernes. Newtonsoft.Json reste disponible via NuGet pour la rétrocompatibilité ou les fonctionnalités avancées non disponibles dans System.Text.Json.
2Quelle méthode utiliser pour sérialiser un objet C# en chaîne JSON ?
Quelle méthode utiliser pour sérialiser un objet C# en chaîne JSON ?
Réponse
JsonSerializer.Serialize convertit un objet C# en chaîne JSON. Cette méthode statique accepte l'objet à sérialiser et optionnellement des JsonSerializerOptions pour personnaliser le comportement. Serialize retourne une string, tandis que SerializeToUtf8Bytes retourne un byte[] pour optimiser la performance en évitant l'allocation de string.
3Quelle est la convention de nommage par défaut de System.Text.Json pour les propriétés JSON ?
Quelle est la convention de nommage par défaut de System.Text.Json pour les propriétés JSON ?
Réponse
Par défaut, System.Text.Json préserve exactement les noms des propriétés C# (case-sensitive PascalCase). Si une propriété C# s'appelle UserName, le JSON contiendra UserName. Pour obtenir camelCase (userName), il faut configurer JsonSerializerOptions avec PropertyNamingPolicy = JsonNamingPolicy.CamelCase. Cela diffère de Newtonsoft.Json qui utilise camelCase par défaut.
Comment désérialiser une chaîne JSON en objet C# typé ?
Quel attribut utiliser pour ignorer une propriété lors de la sérialisation JSON ?
+17 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programmation réactive
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement