gpt4 book ai didi

json - .NET 核心 : Remove null fields from API JSON response

转载 作者:IT老高 更新时间:2023-10-28 12:47:26 29 4
gpt4 key购买 nike

在 .NET Core 1.0(所有 API 响应)的全局级别上,如何配置 Startup.cs 以便在 JSON 响应中删除/忽略空字段?

使用 Newtonsoft.Json,您可以将以下属性应用于属性,但我想避免将其添加到每个属性:

[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string FieldName { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string OtherName { get; set; }

最佳答案

.NET Core 1.0

Startup.cs中,您可以将JsonOptions附加到服务集合并设置各种配置,包括删除空值,有:

public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options => {
options.SerializerSettings
.NullValueHandling = NullValueHandling.Ignore;
});
}
.NET Core 3.1

代替这一行:

options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;

用途:

options.JsonSerializerOptions.IgnoreNullValues = true;
.NET 5.0

代替上述两种变体,使用:

 options.JsonSerializerOptions.DefaultIgnoreCondition 
= JsonIgnoreCondition.WhenWritingNull;

.NET Core 3.1 的变体仍然有效,但它被标记为 NonBrowsable (因此您永远不会收到有关此参数的 IntelliSense 提示),因此它很可能是在某个时候过时了。

关于json - .NET 核心 : Remove null fields from API JSON response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44595027/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com