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

Below is the json response I have currently.

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

How to ignore a property if it is an empty string like key from the above response. I know how to ignore a a property when it is null but not when it is empty.



Solution 1:[1]

To ignore empty string use default value handling option and set property default value to empty string

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

And in set JsonSerializerSettings as below

new JsonSerializerSettings 
          { DefaultValueHandling = DefaultValueHandling.Ignore }

Solution 2:[2]

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

Solution 3:[3]

You can create custom converter by extending Newtonsoft.Json.JsonConverter and override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ΩmegaMan
Solution 2 Shiraj Momin
Solution 3 Vikas Chaturvedi