2016-07-29 2 views
3

Я пытаюсь получить массив байтов из Jtoken:Как конфертировать из Newton.Json.Linq.JToken в байт []?

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 в байт []?

спасибо.

ответ

4

Используйте explicit conversion operator предусмотрено JToken:

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

Или используйте ToObject<T>():

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

Спасибо :) Я знал, что это будет что-то очень простое. – afontalv

Смежные вопросы