Newtonsoft.Json Deserialisierung von Base64-Image schlägt fehl

Ich verwende Newtonsoft.Json, um die Ausgabe von meinem Webservice auf ein Objekt zu deserialisieren. Es hat gut funktioniert, bis ich a hinzugefügt habeBitmapEigentum meiner Klasse (benanntUser), um einen Avatar zu halten.

Der Webservice gibt diese Eigenschaft wie erwartet als Base64-Zeichenfolge zurück. Das Problem ist, wenn ich versuche, den JSON vom WS zurück auf einen zu konvertierenList<User>, einJsonSerializationException wird in diesen Codeblock geworfen:

// T is IList<User>
response.Content.ReadAsStringAsync().Proceed(
    (readTask) =>
    {
        var json = ((Task<string>)readTask).Result;
        var result = JsonConvert.DeserializeObject<T>(json); //<-- it fails here

         // do stuff! 
     });

Ausgabe von Ausnahme ist:

Error converting value "System.Drawing.Bitmap" to type 'System.Drawing.Bitmap'. Path '[2].Avatar

und mit Blick auf die innere Ausnahme:

{"Could not cast or convert from System.String to System.Drawing.Bitmap."}

Es ist klar, dass die Base64-Zeichenfolge nicht analysiert werden kann, aber es ist nicht klar, warum.

Irgendwelche Ideen / Workaround?

BEARBEITEN Ich weiß, dass ich es gebrauchen kannConvert.FromBase64String Holen Sie sich ein Byte-Array und laden Sie eine Bitmap daraus. Dann möchte ich meine Frage auf den neuesten Stand bringenWie kann ich überspringen oder manuell analysierennur dieses Feld. Ich möchte vermeiden, alle JSON manuell analysieren zu müssen. Ist das überhaupt möglich?

BEARBEITEN 2 Ich habe das Root-Problem herausgefunden: JSON wird im Webservice nicht korrekt serialisiert (und ich verstehe nicht, warum). Ich dachte, dassdiese war ein etwas anderes Thema, aber nein. Mein Webservice gibt einfach einen String zurück"System.Drawing.Bitmap" statt dessen base64-Inhalt. Daher dieJsonSerializationException.

Ich war nicht in der Lage, dieses Problem zu lösen. Die einzige Lösung, die ich gefunden habe, ist, mein Fachgebiet in ein Feld zu verwandelnbyte [].

Antworten auf die Frage(3)

Ihre Antwort auf die Frage