当前位置: 首页 > 面试题库 >

.NET Core:从API JSON响应中删除空字段

姜明贤
2023-03-14
问题内容

在.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;


 类似资料:
  • 我正在尝试对GsonConverterFactory使用Retrofit2,问题是这是我从okhttp: 因此,我得到以下例外: java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第2列为字符串 如何删除特殊字符和回车与改装2?

  • 问题内容: 根据特定的WSDL实现WebService。客户端无法更改。正确处理了来自客户端的请求,但是由于变量中的名称空间,客户端抱怨响应。 我想要什么(基于WSDL的soapUI响应): 我得到了什么(有关引起验证问题的变量的通知): Java客户端抛出此异常: [com.sun.istack.SAXParseException2; lineNumber:2;columnNumber:162;

  • 嗨,我是ElasticSearch的新手,我正在努力从ElasticSearch的响应中删除所有额外字段。请参见以下回复: 上面你可以看到响应中有一些附加字段,如_index、_type、_score、max_score等。我按照ElasticSearchresponse_filtering指南删除了这些字段,但对我不起作用。我还将filter_path参数传递给请求0.0.0.0:5000/v4

  • ****TransactionHistoryBO POJO** ** 事务历史响应pojo

  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?

  • 如果我们有如下查询 返回预期的结果(如下所示) 正如您所看到的,查询是针对和我们希望从结果中排除其他字段,但只包括和的字段 并排除其他字段,例如,以下是一些不是或(传递到查询中的字段)的字段-从