ObjectIdConverter.cs 546 B

12345678910111213141516171819
  1. using System.Text.Json;
  2. using System.Text.Json.Serialization;
  3. using LiteDB;
  4. namespace RunnersMeet.Server;
  5. public class ObjectIdConverter : JsonConverter<ObjectId>
  6. {
  7. public override ObjectId? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  8. {
  9. var id = reader.GetString();
  10. return String.IsNullOrEmpty(id) ? null : new ObjectId(id);
  11. }
  12. public override void Write(Utf8JsonWriter writer, ObjectId value, JsonSerializerOptions options)
  13. {
  14. writer.WriteStringValue(value.ToString());
  15. }
  16. }