在 RC2
版本中,相同的代码返回使用驼峰命名的 json 格式。在 netcore 1.0 发布后,我开始了一个新项目,但相同的代码返回小写字母的 json 格式。
尝试过多种解决方案,但都没有生效。 web-api-serialize-properties-starting-from-lowercase-letter
在 RC2
版本中,相同的代码返回使用驼峰命名的 json 格式。在 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 类/属性名称的预期格式。