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 null valore da un getter di proprietà non nullable o quando si deserializza un null valore 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, MaybeNullAttributeAllowNullAttribute 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 required parola chiave , l'attributo JsonRequiredAttribute o la RespectRequiredConstructorParameters proprietà .

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

Si applica a