asp.net 核心 1.0 web api 使用驼峰式
asp.net core 1.0 web api use camelcase
在 RC2
相同的代码 returns json 格式上采用驼峰式大小写。 netcore 1.0 发布后,我开始了新项目,相同的代码以小写形式返回 json。
尝试了多种解决方案,但其中 none 有效
web-api-serialize-properties-starting-from-lowercase-letter
您可以这样配置 JSON 行为:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
});
}
services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
这使 JSON 对象的名称与 .NET class 属性.
相同
您也可以在单个序列化程序级别而不是在全局级别执行此操作。
例如,要在控制器操作方法上 return 一个对象作为 JSON,您可以这样做:
var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };
return new JsonResult(myObject, jsonSerializerSettings);
并且生成的 JSON 字符串将采用预期的 PascalCase 以匹配 .NET class/properties 名称
在 RC2
相同的代码 returns json 格式上采用驼峰式大小写。 netcore 1.0 发布后,我开始了新项目,相同的代码以小写形式返回 json。
尝试了多种解决方案,但其中 none 有效 web-api-serialize-properties-starting-from-lowercase-letter
您可以这样配置 JSON 行为:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
});
}
services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
这使 JSON 对象的名称与 .NET class 属性.
相同您也可以在单个序列化程序级别而不是在全局级别执行此操作。
例如,要在控制器操作方法上 return 一个对象作为 JSON,您可以这样做:
var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };
return new JsonResult(myObject, jsonSerializerSettings);
并且生成的 JSON 字符串将采用预期的 PascalCase 以匹配 .NET class/properties 名称