JsonExtensionDataAttribute Classe

Definição

Quando colocadas em uma propriedade do tipo IDictionary<TKey,TValue>, todas as propriedades que não têm um membro correspondente são adicionadas a esse dicionário durante a desserialização e gravadas durante a serialização.

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
Herança
JsonExtensionDataAttribute
Atributos

Comentários

O valor do TKey dicionário deve ser Stringe TValue deve ser JsonElement ou Object.

Durante a desserialização, ao usar Object, um valor JSON "nulo" é tratado como uma null referência de objeto e, ao usar JsonElement, um "null" é tratado como um JsonElement com definido JsonValueKind.Nullcomo ValueKind .

Durante a serialização, o nome da propriedade de dados de extensão não está incluído no JSON; os dados contidos nos dados de extensão são serializados como propriedades do objeto JSON.

Se houver mais de uma propriedade em um tipo com esse atributo de dados de extensão ou se a propriedade em si não for do tipo correto IDictionary<TKey,TValue> , uma InvalidOperationException será gerada durante a primeira serialização ou desse tipo.

Para obter mais informações, consulte Como lidar com o JSON de estouro com System.Text.Json.

Construtores

JsonExtensionDataAttribute()

Inicializa uma nova instância da classe JsonExtensionDataAttribute.

Propriedades

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a