[英]JSON empty string to null
在JSON中,空字符串通常被解析为null但我有一个包含以下内容的请求:
"StreetValue":"",
在我的课程中,它被反序列化为小数
public decimal StreetValue { get; set; }
但是当我传递空字符串时,它被反序列化为0.00M而不是null。 我错过了什么?
我的意图是,只有在传递“0.00M”时才将其反序列化为0,否则它应该为空。
尝试将您的属性标记为可空类型(请注意问号):
public decimal? StreetValue { get; set; }
这是因为string是引用类型,而decimal是值类型,因此不能赋值null; 相反,您的财产将收到default(decimal)
。
正如史蒂夫所说,你可以让你的财产可以为空:
decimal? Prop { get; set; }
这将允许您根据需要使用null。
尝试使您的属性dynamic
这样您就不需要声明数据类型而不必担心null
值。
public dynamic StreetValue { get; set; }
编辑:
在c#6.0中,属性初始化将可用:
public decimal StreetValue { get; set; } = 0.0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.