using System; using System.Globalization; using System.Text.Json; using System.Text.Json.Serialization; namespace CryptoExchange.Net.Converters.SystemTextJson { /// /// Int converter /// public class IntConverter : JsonConverter { /// public override int? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.Null) return null; if (reader.TokenType == JsonTokenType.String) { var value = reader.GetString(); if (string.IsNullOrEmpty(value)) return null; return int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture); } return reader.GetInt32(); } /// public override void Write(Utf8JsonWriter writer, int? value, JsonSerializerOptions options) { if (value == null) writer.WriteNullValue(); else writer.WriteNumberValue(value.Value); } } }