Voglio impostare un serializzatore di contratto solo per determinati tipi nella mia applicazione API Web ASP.NET. Posso configurare le impostazioni a livello globale nei App_Start/FormatterConfig.cs come questo:Come impostare Json.NET ContractSerializer per un determinato tipo specifico anziché globale?
public static void RegisterGlobalFormatters(MediaTypeFormatterCollection formatters)
{
jsonSerializerSettings.ContractResolver = new CriteriaContractResolver(new List<string>(new string[]{"mdData", "name", "label"}));
...
ma come posso solo applicare questo a uno o più tipi specifici di classe?
Il motivo che voglio fare questo è perché ho bisogno di essere in grado di impostare quali campi devono essere serializzati in fase di esecuzione in base alla configurazione o parametri per il servizio web simile a questi esempi:
http://json.codeplex.com/discussions/347610
La prima opzione mi ha portato a creare un JsonConverter personalizzato che è più basso di un formattatore ma non sono riuscito a capire come specificare un formattatore per un tipo particolare. – Rn222