using NCC.Dependency; using System; using System.Text.Json; using System.Text.Json.Serialization; namespace NCC.JsonSerialization { /// /// DateTime 类型序列化 /// [SuppressSniffer] public class DateTimeJsonConverter : JsonConverter { /// /// 默认构造函数 /// public DateTimeJsonConverter() { Format ??= "yyyy-MM-dd HH:mm:ss"; } /// /// 构造函数 /// /// public DateTimeJsonConverter(string format) { Format = format; } /// /// 时间格式化格式 /// public string Format { get; private set; } /// /// 反序列化 /// /// /// /// /// public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { return DateTime.Parse(reader.GetString()); } /// /// 序列化 /// /// /// /// public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) { writer.WriteStringValue(value.ToString(Format)); } } }