Я хочу использовать пользовательский конвертер для реквизита типа DateTime
для всех моих моделей (преобразовать его в метку времени Unix).
Так что я могу сделать это, добавив атрибут [JsonConverter(...)]
для всех моих свойствс типом DateTime
.Но тогда вы должны помнить об этом, когда добавляете новые модели / реквизиты с этим типом.
Еще один известный мне способ - добавить мой пользовательский JsonConverter к вызову JsonConvert.SerializeObject
(и добавить его ко всемдругие вызовы сериализации / десериализации):
JsonConvert.SerializeObject(dto, new CustomConverter())
Но здесь возникает та же проблема, что и с атрибутом свойства.
Так можно ли установить JsonConverter
на уровне проекта?
например, для ответов API я просто добавляю пользовательский JsonConverter
на уровне проекта, например:
public void ConfigureServices(IServiceCollection services)
{
services
.AddMvc()
.AddJsonOptions(options => {
options.SerializerSettings.Converters.Add(new CustomConverter());
});
}