ASP.NET полностью игнорируется из JSON SerializerSettings - PullRequest
0 голосов
/ 30 июня 2019

Когда я отправляю JSON с сервера заглавными буквами, клиент получает его как верблюжий регистр, я хочу полностью отменить это преобразование.

Я добавил в startup.cs

services.AddMvc () .AdJsonOptions (options => {
    options.SerializerSettings.ContractResolver = new DefaultNamingStrategy ();
});

Но он вернул ошибку:

Error CS0266 Can not implicitly convert type 
'Newtonsoft.Json.Serialization.DefaultNamingStrategy' to 
'Newtonsoft.Json.Serialization.IContractResolver'. An explicit conversion 
exists
(are you missing a cast?)

Можно ли отправить JSON точно так же, как в базе данных?

Я был бы очень признателен за любую помощь

1 Ответ

1 голос
/ 30 июня 2019

Используйте DefaultContractResolver, например:

.AddJsonOptions(options =>
{
    options.SerializerSettings.ContractResolver = new DefaultContractResolver();
})

Вы не можете делать то, что просили:

Можно ли отправить JSON точно так же, как в базе данных?

нет!потому что вы должны указать своему сериализатору, что делать.

Представьте, что имена ваших столбцов в вашей базе данных будут отличаться, например, CustomerName (заглавная C) и clientName (нижний регистр c), что должен делать ваш сериализатор?

Если бы он ничего не делал, вы должны написать свой собственный конвертер, реализующий JsonConverter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...