在RC2
上,相同的代码返回json格式与camel case。在netcore 1.0发布之后,我启动了新项目,同样的代码以小写形式返回json。
尝试了多种解决方案,但他们都没有工作web-api-serialize-properties-starting-from-lowercase-letter
services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
这使JSON对象的名称与.NET类属性相同。
您可以通过以下方式配置JSON行为:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
});
}
您也可以在单个序列化程序级别执行此操作,而不是在全局级别执行此操作。
例如,要在控制器操作方法上将对象作为JSON返回,您可以执行以下操作:
var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };
return new JsonResult(myObject, jsonSerializerSettings);
生成的JSON字符串将位于预期的PascalCase中,以匹配.NET类/属性名称