using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; namespace JSMachine.WMS.Infrastructure.Json { /// /// Json基本设置 /// public static class JsonSetting { public class DateTimeJsonConverter : JsonConverter { public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.String) { if (DateTime.TryParse(reader.GetString(), out DateTime datetime)) { return datetime; } } return reader.GetDateTime(); } public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) { writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss")); } } /// /// 公共Json序列化反序列化设置-忽略大小写,解决解决时间格式反序列化报错 /// public static JsonSerializerOptions CommonJsonSerializerOptions = new() { PropertyNameCaseInsensitive = true }; static JsonSetting() { CommonJsonSerializerOptions.Converters.Add(new DateTimeJsonConverter()); } } }