// HEISE ONLINE — HARDWARE & GADGET
Neu in .NET 10.0 [36]: Neue Einstellungssammlung mit Best Practices für JSON
Mit JsonSerializationOptions.Strict aktiviert man mehrere strengere Einstellungen für die Deserialisierung von JSON-Inhalten.
This article is also available in
English.
It was translated with technical assistance and editorially reviewed before publication.
Der JSON-Serialisierer System.Text.Json bietet in Version 10.0 unter JsonSerializationOptions.Strict neue Optionen an, darunter JSON AllowDuplicateProperties = false.
Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
JsonSerializationOptions.Strict setzt Einstellungen, die Microsoft in den Release Notes als „Best Practices“ bezeichnet:
Das ist neu in .NET 11.0: Dr. Holger Schwichtenberg und weitere Experten präsentieren am 17. November 2026 auf der Online-Konferenz betterCode() .NET 11.0 die Änderungen für Entwicklerinnen und Entwickler. Tickets zum Frühbucherpreis sind im Online-Shop verfügbar.
Diese Einstellungen sind lesekompatibel mit JsonSerializationOptions.Default, das heißt, ein mit JsonSerializationOptions.Default serialisiertes Objekt kann mit JsonSerializationOptions.Strict deserialisiert werden. Der folgende Codeausschnitt führt zum Laufzeitfehler „The JSON property 'ID' could not be mapped to any .NET member contained in type 'Person'.“:
Der zweite Fehler des doppelten Wertes für "LastName" wird nicht ausgegeben, da System.Text.Json leider immer nur den ersten Fehler liefert.
JsonSerializationOptions.Strict kann auch beim Serialisieren eingesetzt werden. Allerdings machen die meisten Einstellungen dabei keinen Unterschied.
Hier ist ein Beispiel, in dem JsonSerializerOptions.Strict einen Unterschied bei Serialize() macht: