2013-03-29 56 views
0

我想通過RestSharp,它有一個列表屬性,但整個對象的結果始終爲空返回一個對象。對象的RestSharp列表返回空對象

被檢索的目的是:

public class Favourite { 
    public Favourite() { 
     Drives = new List<Drive>(); 
    } 

    public int FavouriteId { get; set; } 
    public string Description { get; set; } 
    public string Name { get; set; } 
    public IList<Drive> Drives { get; set; } 
} 

Drive也是已知對象,它被返回精別處。

的請求正在與製作:

var request = new RestRequest() { 
    Resource = "Favourites" 
}; 
var result = Client_Execute<List<Favourite>>(request); 
return result; 

而且JSON回來的是:

[{"FavouriteId":2,"Description":"This is my test favourite description.","Name":"Favourite 1","Drives":[]}] 

而且我結束了result == null。 但是,如果我從Favourite中刪除public IList<Drive> Drives { get; set; },那麼我會得到正確的結果。

這是RestSharp的錯誤,還是我做錯了什麼?

+0

我有一個類似的問題,但ICollection的。通過將屬性更改爲列表(而不是使用接口)來修復它。 –

回答

0

其他人也報告使用IList與RestSharp的序列化問題。

您可能需要嘗試使用List,或者確保您擁有RestSharp版本> = v104.2,並將其作爲錯誤修復程序提及。

Bug Fixes: Serialization for classes with IList properties

希望幫助:)

+1

看起來他們已經修復它的序列化,但不是反序列化,https://github.com/restsharp/RestSharp/issues/201 –