.NET-Funktionalität
16.10.2024, 12:43 Uhr
Die Neuerungen in System.Text.Json in .NET 9 im Überblick
System.Text.Json in .NET 9 etabliert sich als ein unverzichtbares Werkzeug für Entwickler, die mit JSON-Schemata und intelligenten Anwendungen arbeiten.
(Quelle: dotnetpro)
Die Version 9.0 von System.Text.Json bringt zahlreiche Neuerungen mit sich, die auch auf JSON-Schemata und intelligente Anwendungsunterstützung abzielen. Zu den am häufigsten gewünschten Erweiterungen gehören die Unterstützung von Nullable-Referenztypen, die Möglichkeit zur Anpassung von Enum-Mitgliedsnamen, die Deserialisierung von Metadaten in beliebiger Reihenfolge und die Anpassung der Einrückung beim Serialisieren.
Eines der neuen Features ist der JsonSchemaExporter, mit dem Entwickler JSON-Schema-Dokumente aus .NET-Typen extrahieren können. Dies geschieht durch die Verwendung von JsonSerializerOptions oder JsonTypeInfo-Instanzen. Die generierten Schemadokumente spezifizieren den JSON-Serialisierungsvertrag für den Typ und berücksichtigen sowohl nullable als auch non-nullable Eigenschaften.
Darüber hinaus ermöglicht jetzt der Utf8JsonReader, mehrere, durch Whitespace getrennte JSON-Dokumente aus einem einzelnen Puffer oder Stream zu lesen. Diese Funktion kann insbesondere in Szenarien nützlich sein, in denen JSON-Daten mit nicht-JSON-konformen Nachbearbeitungen vorliegen.
In .NET 9 wird ausserdem die Unterstützung von nicht-nullbaren Referenztypen bei der Serialisierung und Deserialisierung vorgestellt. Entwickler können das Verhalten mithilfe des RespectNullableAnnotations-Flags steuern. Dies bedeutet, dass NULL-Werte entsprechend den Nullable-Annotations des Typs behandelt werden.
Eine weitere Funktion ist die Möglichkeit zur Anpassung der Enum-Mitgliedsnamen. Mit dem JsonStringEnumMemberName-Attribut können Entwickler individuelle Namen für die Enum-Mitglieder festlegen, die beim Serialisieren verwendet werden.