mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
#nullable enable
 | 
						|
 | 
						|
using System;
 | 
						|
using System.Text.Json;
 | 
						|
using System.Text.Json.Serialization;
 | 
						|
 | 
						|
namespace MediaBrowser.Providers.Plugins.Omdb
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Converts a string <c>N/A</c> to <c>string.Empty</c>.
 | 
						|
    /// </summary>
 | 
						|
    public class JsonOmdbNotAvailableStringConverter : JsonConverter<string?>
 | 
						|
    {
 | 
						|
        /// <inheritdoc />
 | 
						|
        public override string? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 | 
						|
        {
 | 
						|
            if (reader.TokenType == JsonTokenType.Null)
 | 
						|
            {
 | 
						|
                return null;
 | 
						|
            }
 | 
						|
 | 
						|
            if (reader.TokenType == JsonTokenType.String)
 | 
						|
            {
 | 
						|
                // GetString can't return null here because we already handled it above
 | 
						|
                var str = reader.GetString()!;
 | 
						|
                if (str.Equals("N/A", StringComparison.OrdinalIgnoreCase))
 | 
						|
                {
 | 
						|
                    return null;
 | 
						|
                }
 | 
						|
 | 
						|
                return str;
 | 
						|
            }
 | 
						|
 | 
						|
            return JsonSerializer.Deserialize<string?>(ref reader, options);
 | 
						|
        }
 | 
						|
 | 
						|
        /// <inheritdoc />
 | 
						|
        public override void Write(Utf8JsonWriter writer, string? value, JsonSerializerOptions options)
 | 
						|
        {
 | 
						|
            writer.WriteStringValue(value);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |