.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.