Chcę ustawić serializator umów tylko dla niektórych typów w mojej aplikacji ASP.NET Web API. Mogę ustawić ustawienia globalnie w App_Start/FormatterConfig.cs jak ten:Jak ustawić Json.NET ContractSerializer dla określonego określonego typu zamiast globalnie?
public static void RegisterGlobalFormatters(MediaTypeFormatterCollection formatters)
{
jsonSerializerSettings.ContractResolver = new CriteriaContractResolver(new List<string>(new string[]{"mdData", "name", "label"}));
...
ale jak można po prostu zastosować to do jednego lub więcej określonych typów klasowych?
Powodem chcę to zrobić, bo muszę być w stanie określić, które pola powinny być szeregowane w czasie wykonywania na podstawie konfiguracji lub parametrów do usługi internetowej podobny do tych przykładów:
http://json.codeplex.com/discussions/347610
Twoja pierwsza opcja doprowadziła mnie do stworzenia niestandardowego JsonConvertera, który jest bardziej niski niż formatyzator, ale nie mogłem wymyślić, jak określić formatter dla określonego typu. – Rn222