//mvc服务
services.AddControllersWithViews(options => {
}).AddJsonOptions(a => a.JsonSerializerOptions.Converters.Add(new FzCyjh.YunSdkAJ.Common.DateTimeJsonConverter()));
/// <summary>
///
/// </summary>
public class DateTimeJsonConverter : JsonConverter<DateTime> {
private readonly string _dateFormatString;
/// <summary>
///
/// </summary>
public DateTimeJsonConverter() {
_dateFormatString = "yyyy-MM-dd HH:mm:ss";
}
/// <summary>
///
/// </summary>
/// <param name="dateFormatString"></param>
public DateTimeJsonConverter(string dateFormatString) {
_dateFormatString = dateFormatString;
}
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="typeToConvert"></param>
/// <param name="options"></param>
/// <returns></returns>
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) {
return DateTime.Parse(reader.GetString());
}
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
/// <param name="value"></param>
/// <param name="options"></param>
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) {
writer.WriteStringValue(value.ToString(_dateFormatString));
}
}
Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings();
Newtonsoft.Json.JsonConvert.DefaultSettings = new Func<Newtonsoft.Json.JsonSerializerSettings>(() => {
//日期类型默认格式化处理
setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
setting.DateFormatString = "yyyy-MM-dd HH:mm:ss.fff";
//空值处理
setting.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
return setting;
});