2014-09-29 38 views
0

我有一個很大的JSON字符串,我從第三方庫中接收(所以我無法更改其格式)。我使用JsonConvert.DeserializeObject反序列化它。然後,這個新創建的對象的兩個屬性是:JObject及其對應的System.Type。所以,我需要實現下面的方法來將它解析爲運行時System.Type已知的System.Object。使用運行時類型將JObject轉換爲System.Object

object ConvertJObjectToObject(Type t, JObject o) 
{ 
    return ........ 
} 

JObject.ToObject是一種通用方法,僅適用於編譯類型類型。 JsonConvert.DeserializeObject需要JSON字符串作爲它的第一個參數,但是我已經在這個階段解析了JObject,並且不想在JObject上調用ToString()。

有沒有什麼優雅的方法來實現這一點?

回答

2

有一個重載需要類型參數:

return o.ToObject(t); 
+0

不知道爲什麼,但我JSON.NET沒有這樣的方法。 – Denis 2014-09-29 11:11:18

+0

好吧,好吧。我找出原因。 4.5版本的JSON.NET沒有這個功能,現在的6.0版本已經有了。 Thx,有效答案。 – Denis 2014-09-29 11:21:03

相關問題