繁体   English   中英

JSON空字符串为null

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM