Twitterizer2 1.2.4流API异常 - 反序列化对象时意外结束

时间:2012-04-10 20:03:51

标签: c# json.net twitterizer

任何帮助将不胜感激。我在JSON.Net中反序列化期间抛出异常:

反序列化对象时意外结束。第216行,第2位。

我的通话代码: var asyncResult = s.StartPublicStream(streamErrorCallback,statusCreatedCallback,statusDeletedCallback,eventCallback,rawJsonCallback);

在我的rawJsonCallback处理程序中设置断点显示(似乎是)从API返回的有效JSON。

添加了Twitterizer2和JSON.Net的源代码,看起来像Twitterizer.Streaming.TwitterStream.ParseMessage(string)在第520行附近失败

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

            }
            return;
        }

调用DeserializeObject()。

Newtonsoft.Json.Serliazation.JsonSerializerInternalReader.PopulateObject()失败,因为reader.TokenType == None。

我怀疑合同类型/值与从API返回的对象之间存在差异,但我不确定如何进一步测试。无法获得Json.Net源代码进行编译,因此我无法单步执行它。

2 个答案:

答案 0 :(得分:0)

问题是Twitterizer 2.4正在使用NewtonSoft.Json v4.08,这打破了它。安装Newtonsoft.Json v4.03,你会没事的。

答案 1 :(得分:0)

也许这可以解决您的问题。当我想使用带有JSON.NET 4.5的twitterize时,我有一个类似的东西

我按照有人在github上提到的步骤,然后我用新的json lib和voilá编译了整个源代码;)

相关问题