我使用存在的API並且無法更改它。JSON序列化 - 爲int類型設置默認值
所以我有一些變量--CellProviderID。
它看起來像一個int,因爲當我設置int值時,服務器返回預期的響應。
"CellProviderID":5,"CellProviderID2":7,"CellProviderID3":2
的問題,當我離開這個值空出現,系列化後,我得到:
"CellProviderID":0,"CellProviderID2":0,"CellProviderID3":0
,因爲0是整型的默認值。並且服務器返回一個錯誤:
{"ErrorCode":10,"ErrorMessage":"Cell provider was specified, but cell number is blank, Pager provider was specified, but pager number is blank"}
因此,它看起來像它是一些枚舉,並且0沒有值。
它運作良好,當我改變序列化JSON從
"CellProviderID":0,"CellProviderID2":0,"CellProviderID3":0
到
"CellProviderID":"","CellProviderID2":"","CellProviderID3":""
我應該如何初始化屬性可以設置int類型,並得到「」當我離開這個屬性空?
[JsonProperty]
public int CellProviderID { get; set; }
[JsonProperty]
public int CellProviderID2 { get; set; }
[JsonProperty]
public int CellProviderID3 { get; set; }
怎麼樣試圖讓你的int類型的屬性?這樣他們可以爲空(並看看序列化如何反應) – Batavia
他們是整數。整數的默認值爲零,內容爲空。 – iPogosov
@iPogosov他的意思是'int?',而不是帶問號的'int'。 'int?'是'Nullable'的簡寫形式,表示類型可以是'null' *或* int'。也就是說,將你的屬性改爲:'public int? CellProviderID {get;組; }' –
Rob