2012-04-10 2 views
0

Jede Hilfe wäre willkommen. Bei der Deserialisierung innerhalb von JSON.Net wird eine Ausnahme ausgelöst:Twitterizer2 1.2.4 Streaming-API-Ausnahme - Unerwartetes Ende beim Deserialisieren von Objekt

Unerwartetes Ende beim Deserialisieren des Objekts. Linie 216, Position 2

Meine Berufung Code: var asyncResult = s.StartPublicStream (streamErrorCallback, statusCreatedCallback, statusDeletedCallback, eventCallback, rawJsonCallback);

Das Setzen eines Haltepunkts in meinem rowJsonCallback-Handler zeigt (scheinbar) gültige JSON-Daten, die von der API zurückkommen.

Hinzugefügt wurde die Quelle für Twitterizer2 und JSON.Net, sieht aus wie Twitterizer.Streaming.TwitterStream.ParseMessage (string) versagt hier in der Nähe von Linie 520

var user = obj.SelectToken("user", false); 
    if (user != null) 
     { 
      if (statusCreatedCallback != null && user.HasValues) 
      { 
       statusCreatedCallback(JsonConvert.DeserializeObject<TwitterStatus>(ConvertJTokenToString(obj))); 

      } 
      return; 
     } 

Auf dem Aufruf von DeserializeObject().

Newtonsoft.Json.Serliazation.JsonSerializerInternalReader.PopulateObject() schlägt fehl, da reader.TokenType == None.

Ich vermute, dass es eine Diskrepanz zwischen dem Vertragstyp/den Werten und dem Objekt gibt, das von der API zurückkommt, aber ich bin nicht sicher, wie man weiter prüft. Ich konnte die Json.Net-Quelle nicht kompilieren, damit ich nicht durchgehen kann.

Antwort

0

Das Problem ist, dass Twitterizer 2.4 NewtonSoft.Json v4.08 verwendet, die es bricht. Installieren Sie Newtonsoft.Json v4.03, und alles wird gut.

+0

Danke, ich werde es versuchen. – mellodev

+0

Dies ist die doppelte Kante zum nuget Schwert. –

0

Vielleicht könnte dies Ihr Problem lösen. Ich hatte eine simillar ein, wenn ich die twitterize mit JSON.NET 4,5

ich die Schritte verwenden wollte, dass jemand auf github erwähnt und dann habe ich den gesamten Quellcode mit dem neuen json lib kompiliert und voilá;)

Verwandte Themen