C#Web API方法Json序列化

C#Web API方法Json序列化,c#,json,asp.net-web-api,serialization,C#,Json,Asp.net Web Api,Serialization,我正在做一个C#webapi方法和消费者 首先,该方法检索一个类实例,使用者像这样调用它,并将其解析为一个名为R HttpResponseMessage response = client.PostAsJsonAsync(url, param).Result; R value = await response.Content.ReadAsJsonAsync<R>(); 我的web方法定义很简单 public IHttpActionResult新员工([FromBody]请求手动项

我正在做一个
C#webapi方法
和消费者

首先,该方法检索一个类实例,使用者像这样调用它,并将其解析为一个名为
R

HttpResponseMessage response = client.PostAsJsonAsync(url, param).Result;
R value = await response.Content.ReadAsJsonAsync<R>();
我的web方法定义很简单

public IHttpActionResult新员工([FromBody]请求手动项目)
{
ResponseManual response=Service.Newemployee(items.Datos);
//以前
返回Ok(响应);
//现在
字符串jsonIgnoreNullValues=JsonConvert.SerializeObject(响应、格式、缩进、新JsonSerializerSettings
{
NullValueHandling=NullValueHandling.Ignore
});
返回Ok(jsonIgnoreNullValues);
}

}
在启动时配置格式化程序。在后台,Web API使用Json.Net框架,因此您可以访问相同的序列化设置

WebApiConfig.cs

这样您就可以像以前一样使用原始代码

[HttpPost]
public IHttpActionResult Newemployee([FromBody] RequestManual items) {
    if(ModelState.IsValid) {
        var response = Service.Newemployee(items.Datos);
        return Ok(response);
    }
    return BadRequest(ModelState);
}
var jsonFormatter = config.Formatters.JsonFormatter
jsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore
[HttpPost]
public IHttpActionResult Newemployee([FromBody] RequestManual items) {
    if(ModelState.IsValid) {
        var response = Service.Newemployee(items.Datos);
        return Ok(response);
    }
    return BadRequest(ModelState);
}