diff --git a/DOAN.Admin.WebApi/Program.cs b/DOAN.Admin.WebApi/Program.cs index 49f1862..4a87145 100644 --- a/DOAN.Admin.WebApi/Program.cs +++ b/DOAN.Admin.WebApi/Program.cs @@ -71,6 +71,7 @@ builder.Services.AddMvc(options => options.JsonSerializerOptions.WriteIndented = true; options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeConverter()); options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeNullConverter()); + options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeArrayConverter()); options.JsonSerializerOptions.Converters.Add(new StringConverter()); //PropertyNamingPolicy属性用于前端传过来的属性的格式策略,目前内置的仅有一种策略CamelCase options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; diff --git a/Infrastructure/Converter/JsonConverterUtil.cs b/Infrastructure/Converter/JsonConverterUtil.cs index bd32f10..95a7dfc 100644 --- a/Infrastructure/Converter/JsonConverterUtil.cs +++ b/Infrastructure/Converter/JsonConverterUtil.cs @@ -33,5 +33,26 @@ namespace Infrastructure.Converter return dateVal; return null; } + + //******************************DOAN**************************************** + public class DateTimeArrayConverter : JsonConverter + { + public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + if (reader.TokenType == JsonTokenType.String) + { + if (DateTime.TryParse(reader.GetString(), out var date)) + { + return date; + } + } + throw new JsonException("Invalid date format"); + } + + public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) + { + writer.WriteStringValue(value.ToString("yyyy-MM-ddTHH:mm:ss")); + } + } } }