asp.net - Json.Net 如何将 null 反序列化为空字符串?

标签 asp.net c#-4.0 json.net

例如,我的 class_ 有字符串属性

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

由于某种原因,在 Convert.Deserialize 过程中,我需要在此属性中包含空字符串,而不是 null,以防 JSON 对象中未设置此值。 怎么做?

最佳答案

您可以使用DefaultValue属性。

将其装饰为

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

关于asp.net - Json.Net 如何将 null 反序列化为空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15136041/

相关文章:

asp.net - 只能在 localhost 上访问 asp.net 应用程序

asp.net - 如何防止 Entity Framework 将 FileStream 列加载到字节数组中?

c# - Lucene .NET 搜索结果

c# - 使用 Newtonsoft.Json,getter 中属性的支持字段是什么

c# - 具有不同数据库、实体类型和 dbcontext 的通用存储库

asp.net - 无法加载文件或程序集 'Oracle.DataAccessVersion=9.2.0.700, Culture=neutral, PublicKeyToken=89b483f429c47342'

javascript - Chartjs 无法在 IE8 中工作,即使包含 excanvas 后也会出现 Canvas 元素问题

c# - 尽管 intellisense 列出了定义,但找不到定义?

c# - 是否可以使用 Json.Net 以不同的方式序列化对象并反序列化它?

asp.net-core - 捕获 json.net 序列化错误