Укажите значение по умолчанию для отсутствующего свойства JSON при десериализации.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Укажите значение по умолчанию для отсутствующего свойства JSON при десериализации.

Сообщение Anonymous »

У меня есть такой пример JSON:

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

                        {
"Type": "Service",
"Uid": "Bridge 1",
"ServiceName": "Bridge 1"
}
Который я десериализую в такой класс:

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

public record ServiceConfig
{
public required string Type { get; init; }
public required string Uid { get; init; }
public required string ServiceName { get; init; }
}

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

var cfg = System.Text.Json.JsonSerializer.Deserialize(stream);
Я бы хотел, чтобы имя службы было необязательным в JSON, а если оно не указано, вместо него используется значение Uid, чтобы следующие два JSON приводят к одному и тому же результату:

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

                        {
"Type": "Service",
"Uid": "Bridge 1",
"ServiceName": "Bridge 1"
},
{
"Type": "Service",
"Uid": "Bridge 1"
},
Есть ли простой способ сделать это без необходимости вручную анализировать JSON DOM вместо использования автоматической десериализации?

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

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

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

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

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

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

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