任何帮助,将不胜感激。我在 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 源代码,因此无法逐步完成。