JsonGuidConverter.cs 826 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using System.Globalization;
  3. using System.Text.Json;
  4. using System.Text.Json.Serialization;
  5. namespace MediaBrowser.Common.Json.Converters
  6. {
  7. /// <summary>
  8. /// Converts a GUID object or value to/from JSON.
  9. /// </summary>
  10. public class JsonGuidConverter : JsonConverter<Guid>
  11. {
  12. /// <inheritdoc />
  13. public override Guid Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  14. {
  15. var guidStr = reader.GetString();
  16. return guidStr == null ? Guid.Empty : new Guid(guidStr);
  17. }
  18. /// <inheritdoc />
  19. public override void Write(Utf8JsonWriter writer, Guid value, JsonSerializerOptions options)
  20. {
  21. writer.WriteStringValue(value.ToString("N", CultureInfo.InvariantCulture));
  22. }
  23. }
  24. }