Udostępnij za pośrednictwem


JsonSerializerOptions.RespectNullableAnnotations Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy adnotacje o wartości null powinny być przestrzegane podczas serializacji i deserializacji.

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

Wartość właściwości

Wyjątki

Ta właściwość jest ustawiana po serializacji lub deserializacji.

Uwagi

Konfiguruje serializator, aby zgłaszał wyjątek podczas próby serializacji wartości null z metody getter właściwości niezwiązanej z wartością null lub podczas deserializacji wartości null do niezerowego zestawu właściwości lub parametru konstruktora. Adnotacje o wartości null są rozpoznawane z właściwości, pól i parametrów konstruktora, które są używane przez serializator. Obejmuje to adnotacje wynikające z atrybutów, takich jak NotNullAttribute, MaybeNullAttribute, AllowNullAttribute i DisallowNullAttribute.

Ze względu na ograniczenia dotyczące sposobu przedstawiania typów odwołań dopuszczanych do wartości null w czasie wykonywania to ustawienie określa tylko adnotacje o wartości null właściwości, polach i parametrach konstruktora. Nie można jej używać do wymuszania adnotacji o wartości null typów na poziomie głównym, elementów kolekcji lub parametrów ogólnych. Ustawieniem domyślnym dla tej właściwości może być przełącznik aplikacji dla całej aplikacji przy użyciu przełącznika funkcji "System.Text.Json.Serialization.RespectNullableAnnotationsDefault".

Funkcje sprawdzania poprawności wartości null niezależnie od weryfikacji wymaganej wartości, oznacza to, że ustawienie nie ma wpływu na scenariusze, w których ładunek nie ma wymaganej właściwości. Można to skonfigurować niezależnie przy użyciu słowa kluczowego required, atrybutu JsonRequiredAttribute lub właściwości RespectRequiredConstructorParameters.

Zaleca się, aby nowe aplikacje zawsze ustawiały tę właściwość na true, w połączeniu z ściśle powiązaną właściwością RespectRequiredConstructorParameters.

Dotyczy