.NET 8 desserializando em propriedades somente leitura
Aprenda a desserializar JSON em propriedades somente leitura, sem setter, no .NET 8 usando JsonObjectCreationHandling ou JsonSerializerOptions.
A partir do .NET 8 dá para desserializar em propriedades que não têm o acessador set. Você pode ativar esse comportamento com JsonSerializerOptions ou por tipo, com o atributo JsonObjectCreationHandling.
Usando o atributo JsonObjectCreationHandling
Você pode anotar o seu tipo com o atributo System.Text.Json.Serialization.JsonObjectCreationHandling, passando a opção como parâmetro.
[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
public class Foo
{
public int Bar { get; }
}
Usando JsonSerializerOptions
Defina a propriedade JsonSerializerOptions.PreferredObjectCreationHandling como Populate e passe esse options para o método Deserialize.
new JsonSerializerOptions
{
PreferredObjectCreationHandling = JsonObjectCreationHandling.Populate
};
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.