CamelCase JSON WebAPI子对象(嵌套对象,子对象)

And*_*ung 2 c# json camelcasing pascalcasing asp.net-web-api

我正在创建一个带有子项(嵌套对象)的复杂对象,以便从我的web api控制器返回.该对象包含其他对象类型的列表.列表中的这些子对象类型遵循.NET中使用的pascal大小写.

var persons = peopleLookup.Values;
var users = userLookup.Values;
var roles = rolesLookup.Values;
var groups = groupLookup.Values;
var roleAssignments = roleAssignmentLookup.Values;
var groupMembers = groupMemberLookup.Values;
return new { persons, users, roles, roleAssignments, groups, groupMembers };
Run Code Online (Sandbox Code Playgroud)

我的问题是WebAPI没有驼峰的情况下子项的每个属性.例如,人员列表中的第一个人应该具有id,name的属性,而不是Id,Name的.NET pascal案例.同样适用于所有其他子项目.

Ufu*_*arı 7

您可以配置JSON.NET以在应用程序启动时生成驼峰案例名称.来自Scott Allen的帖子的代码片段:

var formatters = GlobalConfiguration.Configuration.Formatters;
var jsonFormatter = formatters.JsonFormatter;
var settings = jsonFormatter.SerializerSettings;
settings.Formatting = Formatting.Indented;
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
Run Code Online (Sandbox Code Playgroud)