JsonNumberHandlingAttribute sur les propriétés d’une collection
Un changement cassant mineur a été introduit dans .NET 6 en ce qui concerne l’attribut JsonNumberHandlingAttribute. Si vous appliquez l’attribut à une propriété qui est une collection de valeurs autres que des nombres et que vous tentez de sérialiser ou de désérialiser la propriété, une exception InvalidOperationException est levée. L’attribut est valide uniquement pour les propriétés qui sont des collections de types numériques, par exemple :
[JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public List<int> MyList { get; set; }
Comportement précédent
Bien qu’il ait été ignoré lors de la sérialisation, JsonNumberHandlingAttribute peut être appliqué aux propriétés qui étaient des collections d’un autre type que des nombres. Par exemple :
[JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public List<MyClass> MyList { get; set; }
Nouveau comportement
À compter de .NET 6, si vous appliquezJsonNumberHandlingAttribute à une propriété qui est une collection de valeurs autres que des nombres et que vous tentez de sérialiser ou de désérialiser la propriété, une InvalidOperationException est levée.
Version introduite
.NET 6
Type de changement cassant
Ce changement peut affecter la compatibilité binaire.
Raison du changement
Ce changement a été un effet secondaire d’une optimisation des performances pour la fonctionnalité de gestion des nombres.
Action recommandée
Supprimez l’attribut JsonNumberHandlingAttribute des propriétés de collection incompatibles.
API affectées
Toutes les méthodes de sérialisation et de désérialisation System.Text.Json.JsonSerializer.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour