diff --git a/CryptoExchange.Net/Converters/SystemTextJson/CommaSplitEnumConverter.cs b/CryptoExchange.Net/Converters/SystemTextJson/CommaSplitEnumConverter.cs
new file mode 100644
index 0000000..f74af7a
--- /dev/null
+++ b/CryptoExchange.Net/Converters/SystemTextJson/CommaSplitEnumConverter.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace CryptoExchange.Net.Converters.SystemTextJson
+{
+ ///
+ /// Converter for comma seperated enum values
+ ///
+ public class CommaSplitEnumConverter : JsonConverter> where T : Enum
+ {
+ ///
+ public override IEnumerable? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ return (reader.GetString()?.Split(',').Select(x => EnumConverter.ParseString(x)).ToArray() ?? new T[0])!;
+ }
+
+ ///
+ public override void Write(Utf8JsonWriter writer, IEnumerable value, JsonSerializerOptions options)
+ {
+ writer.WriteStringValue(string.Join(",", value.Select(x => EnumConverter.GetString(x))));
+ }
+ }
+}
diff --git a/CryptoExchange.Net/Testing/Comparers/SystemTextJsonComparer.cs b/CryptoExchange.Net/Testing/Comparers/SystemTextJsonComparer.cs
index 12c603c..7c44f4e 100644
--- a/CryptoExchange.Net/Testing/Comparers/SystemTextJsonComparer.cs
+++ b/CryptoExchange.Net/Testing/Comparers/SystemTextJsonComparer.cs
@@ -224,6 +224,9 @@ namespace CryptoExchange.Net.Testing.Comparers
else if (propertyValue.GetType().GetInterfaces().Contains(typeof(IEnumerable))
&& propertyValue.GetType() != typeof(string))
{
+ if (propValue.Type != JTokenType.Array)
+ return;
+
var jObjs = (JArray)propValue;
var list = (IEnumerable)propertyValue;
var enumerator = list.GetEnumerator();