2016-07-29 19 views
3

Ich bin versucht, ein Byte-Array von einem Jtoken abzurufen:Wie konvertiert man von Newton.Json.Linq.JToken in 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"]; 
    } 
} 

Aber erhalte ich diese Fehlermeldung: „umwandeln kann nicht implizit Typ‚newtonsoft.json.linq.Jtoken [] auf Byte Eine explizite Konvertierung vorhanden ist. (Vermissen Sie eine Besetzung?) "

Wie kann ich Newton.Json.Linq.JToken in Byte [] konvertieren?

Vielen Dank.

Antwort

4

Verwenden Sie die explicit conversion operator für JToken vorgesehen:

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

Oder verwenden ToObject<T>():

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

Danke :) Ich wusste, dass es etwas sehr einfach sein würde. – afontalv

Verwandte Themen