为类型指定特殊的JsonConverter,而不将其添加到WebApi序列化设置

时间:2014-10-20 00:00:54

标签: c# asp.net-web-api

给出抽象类

public abstract class A 
{

}

有两个实现A类抽象内容的B和C类,以及一个可以将json读入B或C的JsonConverter。

如何将JsonConverter链接到类型A,以便它可以在WebApi 2 Controller中用作模型

 public async Task<IHttpActionResult> Register(A model)
{

}

1 个答案:

答案 0 :(得分:1)

如果您特别希望转换器只应用于WebApi模型绑定,那么您应该能够将转换器添加到全局格式化程序中:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new AConverter());

如果您希望您的转换器始终由Json.NET应用,请考虑JsonConverterAttribute

[JsonConverter(typeof(AConverter))]
class A
{
   ...
}