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

2024-01-06

我正在创建一个复杂的对象,其中包含要从我的 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 };

我的问题是 WebAPI 不会对子项的每个属性进行驼峰式大小写。例如,人员列表中的第一个人应具有 id、name 属性,而不是 .NET pascal 情况下的 Id、Name。这同样适用于所有其他子项目。


您可以配置 JSON.NET 以在应用程序启动时生成驼峰式大小写名称。代码片段来自斯科特·艾伦的帖子 http://odetocode.com/blogs/scott/archive/2013/03/25/asp-net-webapi-tip-3-camelcasing-json.aspx:

var formatters = GlobalConfiguration.Configuration.Formatters;
var jsonFormatter = formatters.JsonFormatter;
var settings = jsonFormatter.SerializerSettings;
settings.Formatting = Formatting.Indented;
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CamelCase JSON WebAPI 子对象(嵌套对象、子对象) 的相关文章

随机推荐