Neu in .NET 8.0 [32]: Weitere Neuerungen in System.Text.Json 8.0
Die JSON-Bibliothek kann nun auch nicht öffentliche Mitglieder serialisieren und deserialisieren.
- Dr. Holger Schwichtenberg
In System.Text.Json
8.0 kann man nun ein JsonNode
-Objekt auch aus einem Stream erstellen:
JsonNode node = await JsonNode.ParseAsync(stream)
Zudem hat die Klasse JsonNode
neue Methoden wie DeepClone()
und DeepEquals()
erhalten:
JsonNode person = JsonNode.Parse
("{\"Experte\":{\"Name\":\"Dr. Holger Schwichtenberg\"}}");
JsonNode personClone = person.DeepClone();
bool same = JsonNode.DeepEquals(person, personClone); // true
Console.WriteLine(same);
AuĂźerdem wird bei JsonArray
nun die Schnittstelle IEnumerable
angeboten, das Aufzählung mit foreach
und Language Integrated Query (LINQ) ermöglicht:
JsonArray jsonArray = new JsonArray(40, 42, 43, 42);
IEnumerable<int> values =
jsonArray.GetValues<int>().Where(i => i == 42);
foreach (var v in values)
{
Console.WriteLine(v);
}
Im Namensraum System.Net.Http.Json
gibt es nun eine Erweiterungsmethode GetFromJsonAsAsyncEnumerable<T>(URL)
, die eine Menge als IAsyncEnumerable<T>
zur Iteration mit await foreach
liefert.
Auf der Online-Konferenz betterCode() .NET 9.0 am 19. November 2024 von iX und dpunkt.verlag präsentieren .NET-Experten von www.IT-Visions.de den fertigen Stand von .NET 9.0 anhand von Praxisbeispielen. Dazu zählen die Neuerungen in .NET 9.0 SDK, C# 13.0, ASP.NET Core 9.0, Blazor 9.0, Windows Forms 9.0, WPF 9.0, WinUI, .NET MAUI 9.0 und die Integration von Künstlicher Intelligenz in .NET-Anwendungen. Das Programm bietet sechs Vorträge, eine Diskussion und sechs Workshops.
Bis zum 22. Oktober sind Tickets zum Frühbucherpreis erhältlich.
In System.Text.Json
8.0 gibt es eine neue Annotation [JsonConverter]
, um einen eigenen Konverter zu registrieren. Ein Konverter ist eine Klasse, die von JsonConverter<T>
erbt:
[JsonConverter(typeof(JsonStringEnumConverter<MyEnum>))]
public enum MyEnum { Value1, Value2, Value3 }
Weitere Informationen zu Konvertern finden sich auf der Learn-Plattform bei Microsoft.
(rme)