设置JsonConvert.DefaultSettings asp net core 2.0不能按预期工作
我在Startup.cs中有以下代码,并期望它覆盖默认的序列化选项。 我希望它覆盖我的asp net core 2.0项目中的每一个序列化,但是动作返回值不正确,我认为这个全局属性在core 2.0中不起作用
我把它写在app.UseMvc()之前的配置中;
JsonConvert.DefaultSettings = () => new JsonSerializerSettings { Formatting = Formatting.Indented, TypeNameHandling = TypeNameHandling.Objects, ContractResolver = new CamelCasePropertyNamesContractResolver(), Converters = new List { new StringEnumConverter() } };
这部分是答案,因为它没有使用OP指定的方法,但是尝试在Global.asax的 Application_Start()
中添加下面的代码,看看是否可行。
HttpConfiguration conf= GlobalConfiguration.Configuration; conf.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
我之前在Github上看到过这个问题,我相信上面的function,因为它会将全局设置设置为Serializer。 SerializerSettings
属性包含可以更改的其他设置,如果我没有弄错的话,这些更改应该在整个应用程序中共享。
至于问题中的方法,正如我从发行说明中所理解的那样 ,您需要在.serialize()方法中传递此设置,因为默认情况下它们不会被序列化程序使用。
在ASP.NET Core中,这是在Startup.ConfigureServices
应用程序上的服务时配置的。 AddJsonOptions(Action
扩展返回的AddMvc()
有一个流畅的AddJsonOptions(Action
AddMvc()
扩展。 MvcJsonOptions
公开了一个SerializerSettings
属性,您可以在操作代码中配置该属性。
因此,它不是在注册MVC之前配置一次,而是作为MVC注册的一部分完成的。
结合您的设置的示例:
上述就是C#学习教程:设置JsonConvert.DefaultSettings asp net core 2.0不能按预期工作分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
services.AddMvc() .AddJsonOptions( options => { options.SerializerSettings.Formatting = Formatting.Indented; options.SerializerSettings.TypeNameHandling = TypeNameHandling.Objects; options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); options.SerializerSettings.Converters.Add(new StringEnumConverter()); });
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1019020.html