Я создал пользовательский конвертер с расширением JsonConverter
, который будет использоваться для ASP.NET MVC и веб-API.
public class MyCustomConverter : JsonConverter
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
....
}
}
И я создал CustomObject
, который использует этот конвертер:
[JsonConverter(typeof(MyCustomJsonConverter))]
public class CustomObject
{
...
}
Этот конвертер работает правильно для второго приложения (WebApi), это означает, что метод ReadJson
работает после вызова его в TestOfUsingJson
.И в этом случае мне не нужно было ничего настраивать.
Для первого приложения (ASP.NET MVC) у меня проблема, объект конвертируется из json, но этот объект не создается из моего пользовательскогоконвертер.Метод ReadJson
не работает.
Метод, который использует пользовательский конвертер, выглядит одинаково для каждого приложения
public HttpResponseMessage TestOfUsingJson([FromBody] CustomObject objs)
{
...
}
Некоторые настройки Json Serializer в ASP.NET MVC Global.asax.cs
:
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
Converters = new List<JsonConverter> { new MyCustomJsonConverter() }
};
Что я делаю не так?