Net Core 3.1 处理JSON返回的时间格式
在网上找了好多好多的帖子都是2.x的,代码放进去一直报错没法用,刚刚准备关机找到一个可以用的~特此记录一下。
直接把这一行放进去,这个时候DatetimeJsonConverter会报错,不要慌。接着下一步
-
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
-
{
-
services.AddControllers()
-
.AddJsonOptions(configure => {
-
configure.JsonSerializerOptions.Converters.Add(new DatetimeJsonConverter());
-
});
-
}
然后就是直接在这个startup类里下边再写一个方法
-
public class DatetimeJsonConverter : JsonConverter<DateTime>
-
{
-
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
-
{
-
if (reader.TokenType == JsonTokenType.String)
-
{
-
if (DateTime.TryParse(reader.GetString(), out DateTime date))
-
return date;
-
}
-
return reader.GetDateTime();
-
}
-
-
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
-
{
-
writer.WriteStringValue(value.ToString("yyyy-MM-dd"));
-
}
-
}
这样就可以啦~ 我这里是不要具体时间的,所以直接写了yyyyMMdd 如果你们的系统需要具体时间 也可以随意修改哦~加上HHmmssfff就好了。