Может ли десериализация ASP.NET Core установить значение null в свойстве, если все дочерние свойства имеют значение NULLC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Может ли десериализация ASP.NET Core установить значение null в свойстве, если все дочерние свойства имеют значение NULL

Сообщение Anonymous »

В ASP.NET Core 8 у меня есть минимальный API CreatePerson, который получает JSON:

Код: Выделить всё

{
"name": "Peter",
"residence": {
"country": null,
"status": null
},
}
Этот JSON сопоставлен с классом CreatePersonRequest:

Код: Выделить всё

public record CreatePersonRequest(
string name,
Residence? residence
);

public record Residence(
string Country,
string Status
);
Когда JSON отправляется в API CreatePerson, ASP.NET Core десериализует его и создает экземпляр CreatePersonRequest с созданным экземпляром свойства Residence, но со всеми его дочерними свойствами ( и Status) как нулевые значения.
В этом сценарии я хочу, чтобы десериализация JSON возвращала объект CreatePersonRequest со свойством Residence. как null.
Я попробовал установить JsonIgnoreCondition.WhenWritingNull, но это не сработало.

Код: Выделить всё

services.Configure(options =>
{
options.SerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
});
Как мне этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/781 ... properties
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»