Отключите System.Text.Json в веб-API на .NET Core 3.0 - PullRequest
0 голосов
/ 15 октября 2019

Я бы хотел явно использовать библиотеку legacy Newtonsoft.Json для сериализации / десериализации в .NET Core Web API 3.0.0. Независимо от того, что я делаю, всегда System.Text.Json участвует и пользовательские преобразователи Newtonsoft не используются.

ConfigureServices метод в startup.cs выглядит следующим образом:

 public void ConfigureServices(IServiceCollection services)
        {
// ...
            services.AddControllers()
                .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
                .AddNewtonsoftJson(options =>
                    {
                        options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                        options.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto;
                        options.SerializerSettings.Converters.Add(new CustomGeoJsonConverter());
                    }
                );
// ...
}

В этом случаеЯ попытался с пользовательским CustomGeoJsonConverter, и при сериализации в этом объекте не было активности. Подобный код работает нормально в .NET Core 2.2.

...