| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #nullable enable
- using Abp.Extensions;
- using Newtonsoft.Json;
- namespace VberZero.Tools;
- public class TimeSpanToJsonStringConverter : JsonConverter
- {
- public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
- {
- if (value != null)
- {
- writer.WriteValue(value.ToString());
- }
- }
- public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
- {
- if (reader.Value == null)
- {
- return default;
- }
- var str = (string)reader.Value;
- if (str.IsNullOrWhiteSpace())
- {
- return default;
- }
- return TimeSpan.Parse(str);
- }
- public override bool CanConvert(Type objectType)
- {
- return typeof(TimeSpan).IsAssignableFrom(objectType) || typeof(TimeSpan?).IsAssignableFrom(objectType);
- }
- }
|