Mam projektu Web API z następującymi ustawieniami w Global.asax.cs
:analizowaniem ISO Czas z Json.NET
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);
Mimo to, Json.Net nie można analizować ISO durations.
To generuje ten błąd:
Error converting value "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z" to type 'System.TimeSpan'.
używam Json.NET V4.5.
Próbowałem różnych wartości, takich jak "P1M" i inne wymienione na stronie wiki bez powodzenia.
Więc pytanie brzmi:
- Am I czegoś brakuje?
- Czy muszę napisać niestandardowy formater?
To jest najlepsze rozwiązanie –
dzięki za to! Wydaje się dziwne, że XmlConvert jest w parserze Json, ale działa dobrze. – Oliver
Tak, naprawdę dziwną rzeczą jest bardzo podobne podejście przy użyciu funkcji Xml, co również jest potrzebne do tego celu w Javie. –