我有以下代碼:適當地處理一個空的JSON對象在RestSharp
public void GetJson()
{
RestRequest request = new RestRequest(Method.GET);
var data = Execute<Dictionary<string, MyObject>>(request);
}
public T Execute<T>(RestRequest request) where T : new()
{
RestClient client = new RestClient(baseUrl);
client.AddHandler("text/plain", new JsonDeserializer());
var response = client.Execute<T>(request);
return response.Data;
}
的問題是,有時響應將是一個空JSON數組[]
。當我運行此代碼時,出現以下異常:無法投射類型爲'RestSharp.JsonArray'的對象來鍵入'System.Collections.Generic.IDictionary`2 [System.String,System.Object]'。
有沒有辦法妥善處理呢?
你有任何改變服務器響應的機會嗎?它應該返回一個空對象{},而不是一個空數組[]。這兩者即使在JSON中也不兼容。 – 2013-03-20 20:45:12
我可以想到簡單的黑客,但這就是它。 – evanmcdonnal 2013-07-31 02:10:32
@Thomas:任何人對此有更多的想法?找到答案?我從Facebook API獲取這個。在某個調用中,當您發送一些無效數據時,它會返回一個字典,告訴您什麼是錯誤的以及爲什麼。否則,它返回一個空的json數組'''''。很煩人。想法? – xan 2014-12-31 15:16:16