diff --git a/CryptoExchange.Net/Converters/SystemTextJson/ArrayConverter.cs b/CryptoExchange.Net/Converters/SystemTextJson/ArrayConverter.cs
index fb48322..1a58ad4 100644
--- a/CryptoExchange.Net/Converters/SystemTextJson/ArrayConverter.cs
+++ b/CryptoExchange.Net/Converters/SystemTextJson/ArrayConverter.cs
@@ -96,7 +96,10 @@ namespace CryptoExchange.Net.Converters.SystemTextJson
var attribute = attributes.SingleOrDefault(a => a.ArrayProperty.Index == index);
if (attribute == null)
+ {
+ index++;
continue;
+ }
var targetType = attribute.TargetType;
object? value = null;
diff --git a/CryptoExchange.Net/Converters/SystemTextJson/NumberStringConverter.cs b/CryptoExchange.Net/Converters/SystemTextJson/NumberStringConverter.cs
new file mode 100644
index 0000000..a45014a
--- /dev/null
+++ b/CryptoExchange.Net/Converters/SystemTextJson/NumberStringConverter.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Globalization;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace CryptoExchange.Net.Converters.SystemTextJson
+{
+ ///
+ /// Read string or number as string
+ ///
+ public class NumberStringConverter : JsonConverter
+ {
+ ///
+ public override string? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ if (reader.TokenType == JsonTokenType.Null)
+ return null;
+
+ if (reader.TokenType == JsonTokenType.Number)
+ return reader.GetInt64().ToString();
+
+ return reader.GetString();
+ }
+
+ ///
+ public override void Write(Utf8JsonWriter writer, string? value, JsonSerializerOptions options)
+ {
+ writer.WriteStringValue(value);
+ }
+ }
+}