using System; using System.Text.Json; using System.Text.Json.Serialization; namespace MediaBrowser.Common.Json.Converters { /// /// Converts a GUID object or value to/from JSON. /// public class JsonGuidConverter : JsonConverter { /// public override Guid Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { var guidStr = reader.GetString(); return guidStr == null ? Guid.Empty : new Guid(guidStr); } /// public override void Write(Utf8JsonWriter writer, Guid value, JsonSerializerOptions options) { if (value == Guid.Empty) { writer.WriteNullValue(); } else { writer.WriteStringValue(value); } } } }