我已将我的 MVC4 应用程序全局显式配置为使用 JSON.NET 序列化程序。我知道在序列化日期时我可以选择使用 ISO 标准日期或旧的 Microsoft 日期格式。
但是我怎样才能输出我自己的自定义日期时间格式字符串,比如:“dd/MM/yyyy hh:mm”。
当插入 Json.NET 作为默认序列化程序时,我可以在 MVC3 中执行此操作,但在 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"));
}
}
任何帮助,将不胜感激 :)