Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um eine Char mit System.Text.Json erfolgreich zu deserialisieren, muss die JSON-Zeichenfolge ein einzelnes Zeichen enthalten.
Änderungsbeschreibung
In früheren .NET-Versionen wird die mehrteiligechar Zeichenfolge im JSON erfolgreich in eine Eigenschaft oder einchar Feld deserialisiert. Wie im folgenden Beispiel wird nur der erste char der Zeichenfolge verwendet:
// .NET Core 3.0 and 3.1: Returns the first char 'a'.
// .NET 5 and later: Throws JsonException because payload has more than one char.
char deserializedChar = JsonSerializer.Deserialize<char>("\"abc\"");
In .NET 5 und höher führt alles andere als eine einzelne char Zeichenfolge dazu, dass JsonException ausgelöst wird, wenn das Deserialisierungsziel ein char ist. Die folgende Beispielzeichenfolge wird in allen .NET-Versionen erfolgreich deserialisiert:
// Correct usage.
char deserializedChar = JsonSerializer.Deserialize<char>("\"a\"");
Eingeführte Version
5.0
Grund für Änderung
Die Analyse für die Deserialisierung sollte nur erfolgreich sein, wenn die angegebene Nutzlast für den Zieltyp gültig ist. Bei einem char Typ ist die einzige gültige Nutzlast eine einzelnechar Zeichenfolge.
Empfohlene Aktion
Wenn Sie JSON in ein char Ziel deserialisieren, stellen Sie sicher, dass die Zeichenfolge aus einem einzelnen charbesteht.