WebAPI Я могу преобразовать свойства CLR в строчную первую букву, но преобразование регистра POST и PUT не происходит

Используя приведенный ниже форматировщик, я преобразовываю свойства в своих классах C#, которые естественным образом начинаются с прописных букв в строчные. Однако, когда я поворачиваюсь и отправляю их обратно в POST и PUT, они возвращаются в нижнем регистре первой буквы и, конечно же, не сопоставляются с классом С#.

Каков наилучший способ обработки данных, возвращающихся к POST и PUT, без необходимости анализировать javascript и выполнять преобразования вручную?

config.Formatters[index] =
            new JsonMediaTypeFormatter
                {
                    SerializerSettings =
                        new JsonSerializerSettings
                            {
                                ContractResolver =
                                    new CamelCasePropertyNamesContractResolver
                                        (),
                                DateTimeZoneHandling = DateTimeZoneHandling.Local,
                                Formatting = Formatting.Indented,
                                NullValueHandling = NullValueHandling.Ignore
                            }
                };

person Peter Kellner    schedule 01.03.2014    source источник
comment
У меня никогда не было проблем с корпусом Json -> Сопоставление классов. Можете ли вы объяснить контекст (контроллер) с помощью образца Json и класса?   -  person Simon Belanger    schedule 02.03.2014


Ответы (1)


Вместо создания нового JsonMediaTypeFormatter вы можете просто изменить существующий модуль форматирования JSON следующим образом:

httpConfiguration.Formatters.JsonFormatter.SerializerSettings = 
    new JsonSerializerSettings
        {
            ContractResolver = new CamelCasePropertyNamesContractResolver(),
            DateTimeZoneHandling = DateTimeZoneHandling.Local,
            Formatting = Formatting.Indented,
            NullValueHandling = NullValueHandling.Ignore
        };

Может быть, это сработает...

person Dean Ward    schedule 01.03.2014
comment
Оказывается, средство форматирования json должно быть нечувствительным к регистру, потому что оно заработало только после того, как я еще немного поиграл с ним. - person Peter Kellner; 02.03.2014