Behandlung von benutzerdefinierten WebApi Json.NET-Datumsangaben
Ich habe meine MVC4-App global explizit für die Verwendung des JSON.NET-Serializers konfiguriert. Ich weiß, dass ich die Wahl habe, die ISO-Standarddaten oder das alte Microsoft-Datumsformat beim Serialisieren von Daten zu verwenden.
Aber wie kann ich meine eigene DateTime-Format-Zeichenfolge ausgeben, z. B .: "TT / MM / JJJJ HH: MM".
Ich könnte dies in MVC3 tun, wenn ich Json.NET als Standard-Serializer einstecke, aber ich kann es nicht in MVC4 tun.
Bisher habe ich in der application_start getan:
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;
und der benutzerdefinierte Konverter, den ich zu implementieren versuchte, ist wie folgt:
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"));
}
}
Anyhelp wäre dankbar :)