0
我的類定義如下反序列化 - 指定默認值,以空值參數
public class HotelRoomResponse
{
public string rateCode { get; set; }
public string rateDescription { get; set; }
public RoomType RoomType { get; set; }
public string supplierType { get; set; }
public int propertyId { get; set; }
public BedTypes BedTypes { get; set; }
public string smokingPreferences { get; set; }
public int rateOccupancyPerRoom { get; set; }
public int quotedOccupancy { get; set; }
public int minGuestAge { get; set; }
public RateInfos RateInfos { get; set; }
public ValueAdds ValueAdds { get; set; }
public string deepLink { get; set; }
public RoomImages RoomImages { get; set; }
}
public class ValueAdd
{
[JsonProperty(PropertyName = "@id")]
public string id { get; set; }
public string description { get; set; }
}
public class ValueAdds
{
private string valueaddsize="0";
[JsonProperty(PropertyName = "size")]
[DefaultValue("0")]
public string size
{
get
{
return !string.IsNullOrEmpty(valueaddsize)
? valueaddsize
: ((DefaultValueAttribute)
(TypeDescriptor.GetProperties(this)["size"].Attributes[
typeof(DefaultValueAttribute)])).Value.ToString();
}
set { valueaddsize = value; }
}
[JsonConverter(typeof(ObjectToArrayConverter<ValueAdd>))]
public List<ValueAdd> ValueAdd { get; set; }
}
public class RoomImage
{
//// private string useurl = "~/no-picture-available.jpg";
// [DefaultValue("~/no-picture-available.jpg")]
// public string url { get; set; }
private string useurl="~/no-picture-available.jpg";
[DefaultValue("~/no-picture-available.jpg")]
public string url
{
get
{
return !string.IsNullOrWhiteSpace(useurl)
? useurl
: ((DefaultValueAttribute)
(TypeDescriptor.GetProperties(this)["url"].Attributes[
typeof(DefaultValueAttribute)])).Value.ToString();
}
set { useurl = value; }
}
}
public class RoomImages
{
public string size { get; set; }
public RoomImage RoomImage { get; set; }
}
而在反序列化過程中的幾個參數,每次丟失即幾家酒店會產生RoomImages
和ValueAdds
和幾個酒店不會。
我的問題是反序列化過程後,而不是發送空值,我嘗試設置默認值,但這些值不會反映後反序列化。如何將默認值設置爲RoomImages
值爲「無圖像網址」,ValueAdds
爲「無增值」?
而在反序列化過程中幾個參數值空值(公共RoomImages RoomImages {獲取;集;})在HotelRoomResponse即每一次每一個人的酒店會產生客房圖片和價值增加和一些酒店會不是。 –
@ Ramakrishna.p對不起,我不明白你在說什麼。如何嘗試超越技術,看看你得到了什麼? –
我是DeSerializing HotelRoomResponse類不是每個單獨的類 –