13 public override void WriteJson(JsonWriter writer,
object? value, JsonSerializer serializer)
15 if (value is List<T?> values)
17 writer.WriteStartArray();
18 foreach (var item
in values)
20 writer.WriteValue(item);
22 writer.WriteEndArray();
26 public override object? ReadJson(JsonReader reader, Type objectType,
object? existingValue, JsonSerializer serializer)
28 var token = JToken.Load(reader);
30 return token.Type
switch
32 JTokenType.Array => token.ToObject<List<T?>>(),
33 JTokenType.Null =>
null,
34 _ => [token.ToObject<T>()]
38 public override bool CanConvert(Type objectType) => objectType == typeof(List<T?>);