簡體   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