JsonSerializerOptions.RespectNullableAnnotations Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.