.NET

JSON-Serialisierung

System.Text.Json, JsonSerializer, custom converters, naming policies, Null-Behandlung

20 Interview-Fragen·
Mid-Level
1

Was ist der Haupt-Namespace für JSON-Serialisierung im modernen .NET?

Antwort

System.Text.Json ist der offizielle Namespace für JSON-Serialisierung in .NET Core 3.0+. Er ersetzt Newtonsoft.Json (Json.NET) zunehmend, da er performanter, in das Framework integriert und für moderne Szenarien optimiert ist. Newtonsoft.Json bleibt über NuGet für Abwärtskompatibilität oder erweiterte Funktionen verfügbar, die in System.Text.Json nicht vorhanden sind.

2

Welche Methode verwendet man, um ein C#-Objekt in einen JSON-String zu serialisieren?

Antwort

JsonSerializer.Serialize konvertiert ein C#-Objekt in einen JSON-String. Diese statische Methode akzeptiert das zu serialisierende Objekt und optional JsonSerializerOptions zur Anpassung des Verhaltens. Serialize gibt einen String zurück, während SerializeToUtf8Bytes ein byte[] zurückgibt, um die Performance durch Vermeidung der String-Allokation zu optimieren.

3

Was ist die Standard-Namenskonvention von System.Text.Json für JSON-Eigenschaften?

Antwort

Standardmäßig behält System.Text.Json die C#-Eigenschaftsnamen exakt bei (case-sensitive PascalCase). Wenn eine C#-Eigenschaft UserName heißt, enthält das JSON UserName. Um camelCase (userName) zu erhalten, muss JsonSerializerOptions mit PropertyNamingPolicy = JsonNamingPolicy.CamelCase konfiguriert werden. Dies unterscheidet sich von Newtonsoft.Json, das standardmäßig camelCase verwendet.

4

Wie deserialisiert man einen JSON-String in ein typisiertes C#-Objekt?

5

Welches Attribut verwendet man, um eine Eigenschaft bei der JSON-Serialisierung zu ignorieren?

+17 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten