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