首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态属性的.NET核心json序列化(ExpandoObject)

动态属性的.NET核心json序列化(ExpandoObject)
EN

Stack Overflow用户
提问于 2016-12-26 09:47:40
回答 1查看 1.4K关注 0票数 4

我在.NET Core1.0中有一个web,我喜欢默认情况下将属性序列化到camelCasing而不是PascalCasing的新特性。

但是,我的一些api方法正在返回dynamicExpandoObject,这些方法上的属性都是按原样序列化的,这意味着如果我将它们作为PascalCasing添加到动态对象中,那么它们将是如何序列化的。

我认为这是因为动态对象与Dictionary<string, object>密切相关,这就是为什么它的行为是不同的。

如何使dynamic以一种很好的方式使用camelCasing序列化?

(在从API返回字典之前,我可以用小写键在每个返回的动态中重新创建字典,但是我正在寻找一种很好的方法来实现这个目标。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-29 03:51:32

这可以在Startup.cs -> ConfigureServices中解决:

代码语言:javascript
复制
services.AddMvc().AddJsonOptions(opt =>
{
    opt.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});

这里提到了一些地方,现在这是ASP.NET Core1.0的默认行为,但实际上并非如此。添加此行会影响动态属性,而这些属性不受默认情况的影响。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41329279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档