Newtonsoft.Json by James Newton-King

<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />

 JsonConverterAttribute

public sealed class JsonConverterAttribute : Attribute
Instructs the JsonSerializer to use the specified JsonConverter when serializing the member or class.
using System; namespace Newtonsoft.Json { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Interface | AttributeTargets.Parameter, AllowMultiple = false)] public sealed class JsonConverterAttribute : Attribute { private readonly Type _converterType; public Type ConverterType => _converterType; public object[] ConverterParameters { get; } public JsonConverterAttribute(Type converterType) { if ((object)converterType == null) throw new ArgumentNullException("converterType"); _converterType = converterType; } public JsonConverterAttribute(Type converterType, params object[] converterParameters) : this(converterType) { ConverterParameters = converterParameters; } } }