Пользовательская обработка дат в WebApi Json.NET
Я явно настроил мое приложение MVC4 на использование сериализатора JSON.NET. Я знаю, что у меня есть выбор использования стандартных дат ISO или старого формата дат Microsoft при сериализации дат.
Но как я могу вывести свою собственную строку формата dateTime, например: «дд / мм / гггг чч: мм».
Я мог бы сделать это в MVC3 при подключении Json.NET в качестве сериализатора по умолчанию, но, похоже, не могу сделать это в MVC4.
До сих пор в application_start я сделал:
var settings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
JsonSerializerSettings jSettings = new Newtonsoft.Json.JsonSerializerSettings()
{
Formatting = Formatting.Indented,
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
};
jSettings.Converters.Add(new MyDateTimeConvertor() );
settings = jSettings;
и пользовательский конвертер, который я попытался реализовать, выглядит так:
public class MyDateTimeConvertor : DateTimeConverterBase
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return DateTime.Parse(reader.Value.ToString());
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(((DateTime)value).ToString("dd/MM/yyyy hh:mm"));
}
}
Любая помощь будет оценена :)