gpt4 book ai didi

asp.net-web-api - .NET Core json 动态属性序列化 (ExpandoObject)

转载 作者:行者123 更新时间:2023-12-04 03:15:37 24 4
gpt4 key购买 nike

我在 .NET Core 1.0 中有一个 web api,我喜欢属性默认序列化为 的新功能。驼色套管 而不是 帕斯卡套管 .

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

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

我该如何制作 dynamic序列化为 驼色套管 以一种好的方式?

(我可以通过在从 API 返回它们之前使用小写键在每个返回的动态中重新创建字典来实现,但我正在寻找一种非常好的方法来实现目标)

最佳答案

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

services.AddMvc().AddJsonOptions(opt =>
{
opt.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});

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

关于asp.net-web-api - .NET Core json 动态属性序列化 (ExpandoObject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41329279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com