Json.Net How to deserialize null as empty string?

asp.net, c#-4.0, json.net

Solution

You could use the DefaultValue attribute.

Decorate it as

[DataMember]
[JsonProperty(PropertyName = "email", DefaultValueHandling = DefaultValueHandling.Populate)]
[StringLength(40, ErrorMessage = "The Mobile value cannot exceed 40 characters. ")]
[DefaultValue("")]
public string Email { get; set; }

Problem

I have string property in my class_ for example ``` [DataMember] [JsonProperty(PropertyName = "email")] [StringLength(40, ErrorMessage = "The Mobile value cannot exceed 40 characters. ")] public string Email { get; set; } ``` By some reason during Convert.Deserialize process I need to have empty string in this property instead on null in case this value is not setup in JSON object. How to do it ?

Original source