JsonConverter to remove timezone from date
- work only on class named "Patch" - remove timezone from DateTimeOffset valueunknown
plain_text
2 years ago
924 B
4
Indexable
// Generated by ChatGPT public class PatchDateTimeOffsetJsonConverter : JsonConverter { public override bool CanConvert(Type objectType) => objectType.Name.EndsWith("Patch"); public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) => throw new NotSupportedException(); public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteStartObject(); foreach (var property in value.GetType().GetProperties()) { var propertyValue = property.GetValue(value); if (propertyValue is null) { continue; } writer.WritePropertyName(property.Name); switch (propertyValue) { case DateTimeOffset date: serializer.Serialize(writer, date.DateTime); break; // without timezone default: serializer.Serialize(writer, propertyValue); break; } } writer.WriteEndObject(); } }
Editor is loading...