我使用Refit調用REST服務,並且我想反序列化作爲動態類型返回的JSON。使用Refit調用API並反序列化爲動態
我試圖定義界面
[Get("/foo")]
Task<dynamic> GetFoo();
但呼叫超時。
我知道我可以反序列化到一個動態的這樣
var mockString = "{ title: { name: 'fred', book: 'job'} }";
dynamic d = JsonConvert.DeserializeObject(mockString);
,但我無法弄清楚如何通過改裝得到它這樣做。
另一種選擇是讓Refit將原始JSON傳回,以便我可以自己反序列化它,但是我看不到這樣做的方法。
任何想法?
你爲什麼需要?強類型有什麼不對? – Thomas
超時聽起來很奇怪 - 你確定問題出在'dynamic'返回類型嗎?我可以在修改界面中指定它,並返回一個'dynamic'(在引擎蓋下,一個'JObject'--因爲JSON.NET處理反序列化)。 – rdavisau
@Thomas我不知道JSON的形狀提前,所以不能提供強大的類型。如果我返回動態,我可以瀏覽數據。 –