| 12345678910111213141516171819202122232425262728293031323334353637383940 | using System;using System.Buffers;using System.Buffers.Text;using System.Text.Json;using System.Text.Json.Serialization;namespace MediaBrowser.Common.Json.Converters{    /// <summary>    /// Converts a GUID object or value to/from JSON.    /// </summary>    public class JsonInt32Converter : JsonConverter<int>    {        /// <inheritdoc />        public override int Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)        {            if (reader.TokenType == JsonTokenType.String)            {                ReadOnlySpan<byte> span = reader.HasValueSequence ? reader.ValueSequence.ToArray() : reader.ValueSpan;                if (Utf8Parser.TryParse(span, out int number, out int bytesConsumed) && span.Length == bytesConsumed)                {                    return number;                }                if (int.TryParse(reader.GetString(), out number))                {                    return number;                }            }            return reader.GetInt32();        }        /// <inheritdoc />        public override void Write(Utf8JsonWriter writer, int value, JsonSerializerOptions options)        {            writer.WriteNumberValue(value);        }    }}
 |