Quiero establecer un serializador de contratos solo para ciertos tipos en mi aplicación ASP.NET Web API. Puedo configurar los ajustes a nivel mundial en los App_Start/FormatterConfig.cs como este:Cómo configurar Json.NET ContractSerializer para un cierto tipo específico en lugar de globalmente?
public static void RegisterGlobalFormatters(MediaTypeFormatterCollection formatters)
{
jsonSerializerSettings.ContractResolver = new CriteriaContractResolver(new List<string>(new string[]{"mdData", "name", "label"}));
...
pero ¿cómo puedo simplemente aplicar esto a uno o más tipos específicos de clase?
La razón por la que quiero hacer esto es porque tengo que ser capaz de establecer qué campos deben ser serializados en tiempo de ejecución basado en la configuración o parámetros para el servicio web similar a estos ejemplos:
http://json.codeplex.com/discussions/347610
Su primera opción me llevó a crear un JsonConverter personalizado que tiene un nivel más bajo que un formateador pero no pude encontrar la manera de especificar un formateador para un tipo en particular. – Rn222