Upgrading from ASP.NET WebAPI Beta to RC has provided some amount of excitement and a great deal of frustration. I have been able to work through the majority of the issues, bu
After digging into this issue in significant depth I came to realize that I was hitting a bug in the Json.NET KeyValuePair converter. James Newton-King was kind enough to answer my related question and provided a link to the fix:
Json.NET Case-insensitive Property Deserialization
The Json.NET formatter is case insensitive for deserialization (json -> CLR).
On serialization, you can get camel casing by using the CamelCasePropertyNamesContractResolver.
In your Global.asax:
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();