Asp.net web api WebAPI I可以将CLR属性转换为小写的第一个字母,但在POST和PUT上不会发生大小写转换

Asp.net web api WebAPI I可以将CLR属性转换为小写的第一个字母,但在POST和PUT上不会发生大小写转换,asp.net-web-api,Asp.net Web Api,使用下面的格式化程序,我将C类中自然以大写开头的属性转换为小写。然而,当我回过头来把它们放回post和PUT时,它们是以小写字母的形式出现的,当然这不会映射回C类 处理返回POST和PUT的数据的最佳方法是什么,而不必解析javascript并手动进行转换 config.Formatters[index] = new JsonMediaTypeFormatter { SerializerSetting

使用下面的格式化程序,我将C类中自然以大写开头的属性转换为小写。然而,当我回过头来把它们放回post和PUT时,它们是以小写字母的形式出现的,当然这不会映射回C类

处理返回POST和PUT的数据的最佳方法是什么,而不必解析javascript并手动进行转换

config.Formatters[index] =
            new JsonMediaTypeFormatter
                {
                    SerializerSettings =
                        new JsonSerializerSettings
                            {
                                ContractResolver =
                                    new CamelCasePropertyNamesContractResolver
                                        (),
                                DateTimeZoneHandling = DateTimeZoneHandling.Local,
                                Formatting = Formatting.Indented,
                                NullValueHandling = NullValueHandling.Ignore
                            }
                };
不必创建新的JsonMediaTypeFormatter,只需修改现有的JSON格式化程序,如下所示:

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

也许这会有用…

我从来没有遇到过Json->Class映射的大小写问题。你能用一个示例Json和类来解释上下文控制器吗?结果证明Json格式化程序必须是不区分大小写的,因为它在我玩了一些之后才工作。