我已经创建了一个将由移动应用程序使用的ASP.Net WEB API项目.我需要响应json省略null属性而不是返回它们property: null.
我怎样才能做到这一点?
Fil*_*p W 127
在WebApiConfig:
config.Formatters.JsonFormatter.SerializerSettings =
new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要更多控制,可以替换整个格式化程序:
var jsonformatter = new JsonMediaTypeFormatter
{
SerializerSettings =
{
NullValueHandling = NullValueHandling.Ignore
}
};
config.Formatters.RemoveAt(0);
config.Formatters.Insert(0, jsonformatter);
Run Code Online (Sandbox Code Playgroud)
sbo*_*ema 32
我使用ASP.NET5 1.0.0-beta7在startup.cs文件中得到了这段代码
services.AddMvc().AddJsonOptions(options =>
{
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
});
Run Code Online (Sandbox Code Playgroud)
小智 16
对于 ASP.NET Core 3.0,代码中的ConfigureServices()方法Startup.cs应包含:
services.AddControllers()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.IgnoreNullValues = true;
});
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 vnext,在 vnext web api 项目中,将此代码添加到 startup.cs 文件中。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().Configure<MvcOptions>(options =>
{
int position = options.OutputFormatters.FindIndex(f => f.Instance is JsonOutputFormatter);
var settings = new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore
};
var formatter = new JsonOutputFormatter();
formatter.SerializerSettings = settings;
options.OutputFormatters.Insert(position, formatter);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35925 次 |
| 最近记录: |