Поделиться через


JsonSerializerOptions.RespectNullableAnnotations Свойство

Определение

Возвращает или задает значение, указывающее, следует ли учитывать заметки null во время сериализации и десериализации.

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

Значение свойства

Исключения

Это свойство устанавливается после сериализации или десериализации.

Комментарии

Настраивает сериализатор для создания исключения при попытке сериализации значения null из метода получения свойства, не допускающего значения NULL, или при десериализации значения null в параметр набора свойств или конструктора, не допускающего значения NULL. Заметки, допускающие значение NULL, разрешаются из параметров свойств, полей и конструктора, используемых сериализатором. К ним относятся заметки, которые вытекают из таких атрибутов, как NotNullAttribute, MaybeNullAttribute, AllowNullAttribute и DisallowNullAttribute.

Из-за ограничений в том, как ссылочные типы, допускающие значение NULL, представлены во время выполнения, этот параметр управляет только заметками, допускаемыми null, не универсальными свойствами, полями и параметрами конструктора. Его нельзя использовать для принудительного применения заметок null для типов корневого уровня, элементов коллекции или универсальных параметров. Параметр по умолчанию для этого свойства можно переключить на уровне приложения с помощью переключателя функции System.Text.Json.Serialization.RespectNullableAnnotationsDefault.

Функции проверки nullability независимо от проверки требуемой активности, то есть, если параметр не действует в сценариях, когда полезные данные отсутствуют обязательное свойство. Это можно настроить независимо с помощью ключевого слова required, атрибута JsonRequiredAttribute или свойства RespectRequiredConstructorParameters.

Рекомендуется, чтобы новые приложения всегда устанавливали это свойство trueв сочетании с тесно связанным RespectRequiredConstructorParameters свойством.

Применяется к