2016-07-29 13 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を変換することはできません明示的な変換が存在します。 (キャストがありませんか?) "

Newton.Json.Linq.JTokenをbyte []に​​変換するにはどうすればよいですか?

ありがとうございます。

答えて

4

JTokenのために提供explicit 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

関連する問題