20 Stimmen

Wie man JsonTextReader zweimal verwendet

Ich habe einen Strom von Json-Daten, die ein Feld namens "Typ" enthält. Dieses Feld "type" beschreibt den Typ des Objekts, das zur Laufzeit erstellt werden muss. Es sieht so aus, als ob ich den JsonTextReader nicht zweimal verwenden kann und ich kann nicht herausfinden, wie ich den TextReader auf den Anfang zurücksetzen kann.

using (var streamReader = new StreamReader(stream, Encoding))
using (var jsonTextReader = new JsonTextReader(streamReader))
{
    JToken token = JObject.Load(jsonTextReader);
    var type = (string) token.SelectToken("type");
    var modelType = Type.GetType("Project." + type + ", Project");

    // Fails here
    var obj = serializer.Deserialize(jsonTextReader, modelType);
}

Ich erhalte diese Fehlermeldung. Unerwartetes Token beim Deserialisieren des Objekts: EndObject.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X