| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- using Newtonsoft.Json;
 
- using System.Text.Json;
 
- using System.Text.Json.Serialization;
 
- namespace OASystem.API.OAMethodLib
 
- {
 
-     #region 日期格式转换("yyyy-MM-dd HH;mm:ss")
 
-     public class DateTimeJsonConverter : System.Text.Json.Serialization.JsonConverter<DateTime>
 
-     {
 
-         private readonly string Format;
 
-         public DateTimeJsonConverter(string format)
 
-         {
 
-             Format = format;
 
-         }
 
-         public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 
-         {
 
-             if (string.IsNullOrEmpty(reader.GetString()))
 
-             {
 
-                 return default(DateTime);
 
-             }
 
-             return DateTime.ParseExact(reader.GetString(), Format, null);
 
-         }
 
-         public override void Write(Utf8JsonWriter writer, DateTime date, JsonSerializerOptions options)
 
-         {
 
-             writer.WriteStringValue(date.ToString(Format));
 
-         }
 
-         //public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 
-         //{
 
-         //    return DateTime.ParseExact(reader.GetString(), Format, null);
 
-         //}
 
-     }
 
-     #endregion
 
-     #region String null值转换(读/写)
 
-     public class NullJsonConverter : System.Text.Json.Serialization.JsonConverter<string>
 
-     {
 
-         public override bool HandleNull => true;
 
-         public override string Read(
 
-             ref Utf8JsonReader reader,
 
-             Type typeToConvert,
 
-             JsonSerializerOptions options) =>
 
-             reader.GetString() ?? "";
 
-         public override void Write(
 
-             Utf8JsonWriter writer,
 
-             string value,
 
-             JsonSerializerOptions options) =>
 
-             writer.WriteStringValue(value ?? "");
 
-     }
 
-     #endregion
 
-     #region decimal格式化 decimalPlaces=3 应用自定义的序列化器,并指定小数位数为 3
 
-     public class DecimalConverter : System.Text.Json.Serialization.JsonConverter<decimal>
 
-     {
 
-         private readonly int decimalPlaces;
 
-         public DecimalConverter(int decimalPlaces = 2)
 
-         {
 
-             this.decimalPlaces = decimalPlaces;
 
-         }
 
-         public override decimal Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 
-         {
 
-             if (reader.TokenType == JsonTokenType.Number)
 
-                 return reader.GetDecimal();
 
-             else
 
-                 throw new System.Text.Json.JsonException();
 
-         }
 
-         public override void Write(Utf8JsonWriter writer, decimal value, JsonSerializerOptions options)
 
-         {
 
-             string formatString = "0." + new string('0', decimalPlaces);
 
-             string formattedValue = value.ToString(formatString); // 格式化字符串,保留指定位数的小数
 
-             writer.WriteStringValue(formattedValue);
 
-         }
 
-     }
 
-     #endregion
 
- }
 
 
  |