是否可以在使用 RestSharp 反序列化时实例化 Null 值

本文关键字:反序列化 实例化 Null RestSharp 是否 | 更新日期: 2023-09-27 18:37:21

如何在使用 RestSharp 反序列化时默认实例化空值。

例如,你有这个 POCO

public class Address {
    public string Street { get; set; }
    public string City { get; set; }
    public int Number { get; set; }
    public string Postal { get; set; }
}
public class Root {
    public string Name { get; set; }
    public Address Address { get; set; }
}

而这个 JSON:

{ 
    "Root": {
        "Name" : "John",
        "Address" : null 
    }
}

当我做RestClient.ExecuteAsGet<Root>( ... )时,是否有可能即使Address为空,它仍然被实例化(new Address())?

是否可以在使用 RestSharp 反序列化时实例化 Null 值

这可能在较新版本的 RestSharp 中发生了变化,但如果对象不存在,则默认情况下应为 null 或 null。

可以使用值类型实现此目的Nullable . https://msdn.microsoft.com/en-us/library/b3h38hb0.aspx

public class Root {
    public Nullable<DateTime> date { get; set; }
}