Definir configurações de serialização do Json.NET em um nível de class

Eu quero que minha class seja serializada e desserializada usando a convenção de nomes de casos de camelos. Eu sei que eu posso usar o JsonConvert.SerializeObject(object, settings) sobrecarga como indicado aqui :

 var serializerSettings = new JsonSerializerSettings(); serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var json = JsonConvert.SerializeObject(product, serializerSettings); 

Existe alguma maneira de aplicar a mesma configuração em um nível de class (via atributos) para que eu não precise replace as configurações de serialização?

Eu poderia escrever um conversor personalizado, mas isso parece um exagero para uma coisa tão simples.

Se você estiver usando o Json.NET 9.0.1 ou posterior, poderá usar a propriedade NamingStrategyType no JsonObjectAttribute para obter o que deseja. Se você precisar passar argumentos para o NamingStrategy , então especifique-os com a propriedade NamingStrategyParameters . Abaixo está um exemplo de como especificar uma class com uma estratégia de nomenclatura de caso de camelo.

 [JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))] public class Foo { public string Bar; }