Start Debugging
2023-09-03 Aktualisiert 2023-11-05 dotnetdotnet-8 Edit on GitHub

.NET 8 In schreibgeschützte Properties deserialisieren

Erfahren Sie, wie Sie in .NET 8 mit JsonObjectCreationHandling oder JsonSerializerOptions JSON in schreibgeschützte Properties ohne Setter deserialisieren.

Ab .NET 8 können Sie in Properties deserialisieren, die keinen set-Accessor haben. Dieses Verhalten lässt sich entweder über die JsonSerializerOptions aktivieren oder pro Typ über das Attribut JsonObjectCreationHandling.

Über das JsonObjectCreationHandling-Attribut

Versehen Sie Ihren Typ mit dem Attribut System.Text.Json.Serialization.JsonObjectCreationHandling und übergeben Sie Ihre Option als Parameter.

[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
public class Foo
{
     public int Bar { get; }
}

Über JsonSerializerOptions

Setzen Sie die Eigenschaft JsonSerializerOptions.PreferredObjectCreationHandling auf Populate und übergeben Sie die Options an die Deserialize-Methode.

new JsonSerializerOptions 
{ 
    PreferredObjectCreationHandling = JsonObjectCreationHandling.Populate
};

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Zurück