gpt4 book ai didi

c# - JsonSerializerSettings 和 Asp.Net Core

转载 作者:IT王子 更新时间:2023-10-29 04:10:42 26 4
gpt4 key购买 nike

尝试设置 JsonOutputFormatter 选项:

var jsonFormatter = (JsonOutputFormatter) options.OutputFormatters.FirstOrDefault(f => f is JsonOutputFormatter);
if (jsonFormatter != null)
{
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}

mvcBuilder.AddJsonOptions(jsonOptions =>
{
jsonOptions.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});

但是一旦我添加这个,我就会得到:

MissingMethodException: Method not found: 'Newtonsoft.Json.JsonSerializerSettings Microsoft.AspNet.Mvc.Formatters.JsonOutputFormatter.get_SerializerSettings()'.

我使用的是标准 Microsoft.AspNet.Mvc.Formatters.Json (6.0.0-rc1-final)

编辑:通过安装 Newtonsoft.Json 6.0.6 解决了这个问题(这会降低所有其他引用)

有人知道了吗?谢谢..

最佳答案

.Net Core 1.0 RTM 带有开箱即用的 CamelCase 格式。这是一种行为 change来自 RC2。但是,如果您需要修改它,请尝试以下代码段:

services.AddMvc()
.AddJsonOptions(opt =>
{
var resolver = opt.SerializerSettings.ContractResolver;
if (resolver != null)
{
var res = resolver as DefaultContractResolver;
res.NamingStrategy = null; // <<!-- this removes the camelcasing
}
});

更多信息 here .

对于 dotnet 核心 1.0.1:

  services
.AddMvcCore()
.AddJsonFormatters(o => o...);

关于c# - JsonSerializerSettings 和 Asp.Net Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35772387/

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