У меня есть проект веб-API со следующими настройками в Global.asax.cs
:
var serializerSettings = new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Utc
};
serializerSettings.Converters.Add(new IsoDateTimeConverter());
var jsonFormatter = new JsonMediaTypeFormatter { SerializerSettings = serializerSettings };
jsonFormatter.MediaTypeMappings.Add(GlobalConfiguration.Configuration.Formatters[0].MediaTypeMappings[0]);
GlobalConfiguration.Configuration.Formatters[0] = jsonFormatter;
WebApiConfig.Register(GlobalConfiguration.Configuration);
Несмотря на все это, Json.Net не может разобрать длительность ISO.
Он выдает эту ошибку:
Значение преобразования ошибок "2007-03-01T13: 00: 00Z/2008-05-11T15: 30: 00Z" на введите "System.TimeSpan".
Я использую Json.Net v4.5.
Я пробовал разные значения, такие как "P1M" и другие, перечисленные на странице wiki, без везения.
Итак, вопрос:
- Я что-то пропустил?
- Или мне нужно написать какой-то пользовательский форматтер?