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

NamingStrategy

public abstract class NamingStrategy
A base class for resolving how property names and dictionary keys are serialized.
namespace Newtonsoft.Json.Serialization { public abstract class NamingStrategy { public bool ProcessDictionaryKeys { get; set; } public bool ProcessExtensionDataNames { get; set; } public bool OverrideSpecifiedNames { get; set; } public virtual string GetPropertyName(string name, bool hasSpecifiedName) { if (hasSpecifiedName && !OverrideSpecifiedNames) return name; return ResolvePropertyName(name); } public virtual string GetExtensionDataName(string name) { if (!ProcessExtensionDataNames) return name; return ResolvePropertyName(name); } public virtual string GetDictionaryKey(string key) { if (!ProcessDictionaryKeys) return key; return ResolvePropertyName(key); } protected abstract string ResolvePropertyName(string name); } }