using System.Text.Json; using System.Text.Json.Serialization; using Bunny.Dao.Common.Constant; namespace Bunny.WebApi.Configuration; /// /// 自定义Json转换器,用于将DateTime类型转换为JSON格式 /// public class JsonDateTimeConverter : JsonConverter { /// /// 重写读取方法,将JSON数据转换为DateTime类型 /// /// JSON读取器 /// 要转换的目标类型 /// JSON序列化选项 /// 转换后的DateTime对象 public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { return DateTime.TryParse(reader.GetString(), out var date) ? date : default; } /// /// 重写写入方法,将DateTime对象转换为JSON格式并写入JSON写入器 /// /// JSON写入器 /// 要写入的DateTime对象 /// JSON序列化选项 public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) { // 将DateTime对象转换为特定格式的字符串并写入JSON写入器 writer.WriteStringValue(value.ToString(LocalDateTimeConstant.DefaultDateTimeSecondFormat)); } }