Partager via


JsonExtensionDataAttribute Classe

Définition

Lorsqu’elles sont placées sur une propriété de type IDictionary<TKey,TValue>, toutes les propriétés qui n’ont pas de membre correspondant sont ajoutées à ce dictionnaire pendant la désérialisation et écrites pendant la sérialisation.

public ref class JsonExtensionDataAttribute sealed : System::Text::Json::Serialization::JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)>]
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)>]
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
Public NotInheritable Class JsonExtensionDataAttribute
Inherits JsonAttribute
Héritage
JsonExtensionDataAttribute
Attributs

Remarques

La valeur du TKey dictionnaire doit être String, et TValue doit être JsonElement ou Object.

Lors de la désérialisation, lors de l’utilisation Objectde , une valeur JSON « null » est traitée comme une référence d’objet null , et lors de l’utilisation JsonElementde , un « null » est traité comme un JsonElement avec ValueKind défini sur JsonValueKind.Null.

Pendant la sérialisation, le nom de la propriété de données d’extension n’est pas inclus dans le json ; les données contenues dans les données d’extension sont sérialisées en tant que propriétés de l’objet JSON.

S’il existe plusieurs propriétés sur un type avec cet attribut de données d’extension, ou si la propriété elle-même n’est pas du type correct IDictionary<TKey,TValue> , une InvalidOperationException est levée lors de la première sérialisation ou désérialisation de ce type.

Pour plus d’informations, consultez Comment gérer le dépassement de capacité JSON avec System.Text.Json.

Constructeurs

JsonExtensionDataAttribute()

Initialise une nouvelle instance de la classe JsonExtensionDataAttribute.

Propriétés

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à