如果它是来自 Json/Api 响应 C# 的空 ('') 字符串,则忽略 属性

Ignore property if it is an empty ('') string from Json/Api Response C#

以下是我目前的 json 回复。

{
   firstName: "xyz",
   lastName: "efh",
   id: 123,
   key: ''
}

如果 属性 是上述响应中的键等空字符串,如何忽略它。我知道如何在 a 属性 为 null 时忽略它,但在它为空时却不会。

您可以通过扩展 Newtonsoft.Json.JsonConverter 和覆盖来创建自定义转换器 void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)

要忽略空字符串,请使用 default value handling option 并将 属性 默认值设置为空字符串

[DefaultValue("")]
public string key { get; set; }

并设置JsonSerializerSettings如下

new JsonSerializerSettings 
          { DefaultValueHandling = DefaultValueHandling.Ignore }
public class Sample 
{
    [DataMember(EmitDefaultValue = false, IsRequired = false)]
    public string Test { get; set; }
}