У меня есть класс FilterDto
, который я использую для отправки информации фильтра в мое клиентское приложение.
Например:
public class FilterDto
{
public string Code { get; set; } = "Default code";
public string Description { get; set; }
}
Это сериализовано как:
[
{
field: 'Code',
type: 'text',
defaultValue: 'Default code'
},
{
field: 'Description ',
type: 'text',
defaultValue: null
}
]
Так что в моем клиенте я могу сделать два input
text
для данных полей. И когда пользователь фильтрует отправленный обратно JSON, это что-то вроде:
{
Code: 'code to filter',
Description: 'description to filter'
}
И я десериализую это как:
var filter = JsonConvert.DeserializeObject(json, typeof(FilterDto));
Console.WriteLine(filter.Code); // code to filter
Проблема в том, что если пользователь решит стереть значение по умолчанию для кода, в приведенном выше примере у меня будет JSON:
{
Description: 'description to filter'
}
А при десериализации у меня будет:
var filter = JsonConvert.DeserializeObject(json, typeof(FilterDto));
Console.WriteLine(filter.Code); // Default code
Есть ли способ установить Code
в ноль вместо его значения по умолчанию, если он отсутствует в JSON?
Спасибо