C# asp.net核心1.0 web api用例
在C# asp.net核心1.0 web api用例,c#,json,json.net,asp.net-core-mvc,asp.net-core-1.0,C#,Json,Json.net,Asp.net Core Mvc,Asp.net Core 1.0,在RC2上,相同的代码返回带驼峰大小写的json格式。在NetCore1.0发布之后,我启动了一个新项目,同样的代码返回的是小写的json 尝试了多种解决方案,但都不起作用 您可以通过以下方式配置JSON行为: public void ConfigureServices(IServiceCollection services) { services.AddMvc() .AddJsonOptions(options =>
RC2
上,相同的代码返回带驼峰大小写的json格式。在NetCore1.0发布之后,我启动了一个新项目,同样的代码返回的是小写的json
尝试了多种解决方案,但都不起作用
您可以通过以下方式配置JSON行为:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
});
}
这将保持JSON对象的名称与.NET类属性相同。您也可以在单个序列化程序级别而不是全局级别执行此操作 例如,要在控制器操作方法上以JSON形式返回对象,可以执行以下操作:
var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };
return new JsonResult(myObject, jsonSerializerSettings);
生成的JSON字符串将位于预期的PascalCase中,以匹配.NET类/属性名称这实际上是默认行为(不幸的是),他希望默认,即属性名称不变,case@Omu这些实际上是不同的(无论如何在.NETCore2.0中)。DefaultContractResolver将接受CamelCase并返回TitleCase,CamelCasePropertyNamesContractResolver接受并返回CamelCase。@Omu是否已将其从.net core 1.x更改为2.0?这需要什么命名空间/引用。没有“AddJsonOptions”,我可以看到它的MVC6.namespace Microsoft.Extensions.DependencyInjection//Extensions方法,用于通过Microsoft.Extensions.DependencyInjection.IMvcBuilder配置MVC。类MvcJsonMvcBuilderExtensionsthanks!!我也有同样的问题,这项工作做得很好。谢谢
var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };
return new JsonResult(myObject, jsonSerializerSettings);