Condividi tramite


JsonSerializerOptions.RespectNullableAnnotations Proprietà

Definizione

Ottiene o imposta un valore che indica se le annotazioni nullbility devono essere rispettate durante la serializzazione e la deserializzazione.

public:
 property bool RespectNullableAnnotations { bool get(); void set(bool value); };
public bool RespectNullableAnnotations { get; set; }
member this.RespectNullableAnnotations : bool with get, set
Public Property RespectNullableAnnotations As Boolean

Valore della proprietà

Eccezioni

Questa proprietà viene impostata dopo la serializzazione o la deserializzazione.

Commenti

Configura il serializzatore per generare un'eccezione quando si tenta di serializzare un valore null da un getter di proprietà non nullable o quando si deserializza un valore null in un parametro setter o costruttore di proprietà non nullable. Le annotazioni di nullità vengono risolte dalle proprietà, dai campi e dai parametri del costruttore usati dal serializzatore. Sono incluse le annotazioni derivanti da attributi quali NotNullAttribute, MaybeNullAttribute, AllowNullAttribute e DisallowNullAttribute.

A causa delle restrizioni relative al modo in cui i tipi riferimento nullable sono rappresentati in fase di esecuzione, questa impostazione regola solo le annotazioni di valori Nullbility di proprietà, campi e parametri del costruttore non generici. Non può essere usato per applicare annotazioni di valori Null di tipi, elementi di raccolta o parametri generici a livello radice. L'impostazione predefinita per questa proprietà può essere attivata o disattivata a livello di applicazione usando l'opzione di funzionalità "System.Text.Json.Serialization.RespectNullableAnnotationsDefault".

La convalida dei valori Null funziona indipendentemente dalla convalida della necessità, vale a dire che l'impostazione non ha alcun effetto negli scenari in cui il payload manca una proprietà obbligatoria. Questa operazione può essere configurata in modo indipendente usando la parola chiave required, l'attributo JsonRequiredAttribute o la proprietà RespectRequiredConstructorParameters.

È consigliabile che le nuove applicazioni impostino sempre questa proprietà su true, in combinazione con la proprietà RespectRequiredConstructorParameters strettamente correlata.

Si applica a