And*_*rei 52 .net c# asp.net-mvc json.net asp.net-web-api
如何配置我的Web API的序列化以使用camelCase
(从小写字母开始)属性名称而不是PascalCase
像在C#中那样.
我可以为整个项目全球化吗?
And*_*rei 88
如果要在Newtonsoft.Json(即JSON.NET)中更改序列化行为,则需要创建设置:
var jsonSerializer = JsonSerializer.Create(new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
NullValueHandling = NullValueHandling.Ignore // ignore null values
});
Run Code Online (Sandbox Code Playgroud)
您还可以将这些设置传递到JsonConvert.SerializeObject
:
JsonConvert.SerializeObject(objectToSerialize, serializerSettings);
Run Code Online (Sandbox Code Playgroud)
protected void Application_Start()
{
GlobalConfiguration.Configuration
.Formatters
.JsonFormatter
.SerializerSettings
.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
Run Code Online (Sandbox Code Playgroud)
排除空值:
GlobalConfiguration.Configuration
.Formatters
.JsonFormatter
.SerializerSettings
.NullValueHandling = NullValueHandling.Ignore;
Run Code Online (Sandbox Code Playgroud)
指示结果JSON中不应包含空值.
默认情况下,ASP.NET Core以camelCase格式序列化值.
对于MVC 6.0.0-rc1-final
编辑Startup.cs,在ConfigureServices(IserviceCollection)
,修改services.AddMvc();
services.AddMvc(options =>
{
var formatter = new JsonOutputFormatter
{
SerializerSettings = {ContractResolver = new CamelCasePropertyNamesContractResolver()}
};
options.OutputFormatters.Insert(0, formatter);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27178 次 |
最近记录: |