2016-07-29 70 views
3

我試圖找回從Jtoken的字節數組:如何轉換Newton.Json.Linq.JToken至byte []?

byte[] PDF; 
var results = JsonConvert.DeserializeObject<dynamic>(jsonData); 
if (results != null) 
{ 
    JArray docList = (JArray)results.SelectToken(""); 
    foreach (JToken doc in docList) 
    { 
     PDF = string.IsNullOrEmpty(doc["PDF"].ToString()) ? null : doc["PDF"]; 
    } 
} 

但我收到此錯誤:「不能隱式轉換類型「newtonsoft.json.linq.Jtoken爲byte []的顯式轉換存在。 (你是否缺少演員?)「

如何將Newton.Json.Linq.JToken轉換爲byte []?

謝謝。

回答

4

使用爲JTokenexplicit conversion operator

PDF = (byte [])(string.IsNullOrEmpty(doc["PDF"].ToString()) ? null : doc["PDF"]); 

或者,使用ToObject<T>()

PDF = (doc["PDF"] == null ? null : doc["PDF"].ToObject<byte []>()); 
+0

謝謝:)我知道這將是很簡單的東西。 – afontalv