Tengo un proyecto Web API con los siguientes ajustes en Global.asax.cs
:de análisis ISO Duración con 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);
A pesar de todo esto, no se puede analizar Json.Net ISO durations.
que arroja este error:
Error converting value "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z" to type 'System.TimeSpan'.
estoy usando Json.Net v4.5.
He probado diferentes valores como "P1M" y otros listados en la página wiki sin suerte.
Así que la pregunta es:
- Me estoy perdiendo algo?
- ¿O tengo que escribir algún formateador personalizado?
esta es la mejor solución –
gracias por esto! Se siente un poco raro tener XmlConvert en el analizador Json, pero funciona bien. – Oliver
Sí, lo realmente extraño es un enfoque muy similar al usar funciones Xml, que es también lo que necesita usar para lograr esto en Java también. –