4

以下代码抛出 NewtonSoft.JSON.JsonSerializationException {“反序列化对象时出现意外标记:StartObject。第 1 行,位置 1884。”}

Twitterizer 版本:2.4.0.26532 NewtonSoft.Json = 4.0.7.0(使用 Visual Studio 中的 Nu-GET 插件安装)

有什么我错过或没有得到的吗?

   class Program
    {
        static void Main(string[] _args)
        {
            Logger.Write("Calling Twitter", Constants.TWITTER_AGREGATOR_LOG_CATEGORY);

            UserTimelineOptions options = new UserTimelineOptions();
            options.ScreenName = "as_tuce2";
            TwitterResponse<TwitterStatusCollection> tweets = TwitterTimeline.UserTimeline(options);   //throws exception


            OAuthTokens tokens = new OAuthTokens();
            tokens.AccessToken = // removed...
            tokens.AccessTokenSecret = // removed...
            tokens.ConsumerKey =  // removed...
            tokens.ConsumerSecret = // removed...

            UserTimelineOptions userOptions = new UserTimelineOptions();
            userOptions.IncludeRetweets = false;
            userOptions.ScreenName = "as_tuce2";
            userOptions.UseSSL = true;
            userOptions.Count = 20;


            TwitterResponse<TwitterUser> showUserResponse = TwitterUser.Show(tokens, "as_tuce2");            //ok
            TwitterResponse<TwitterStatusCollection> timelineResponse = TwitterTimeline.UserTimeline(tokens);  //throws exception


            Console.ReadLine();
        }
    }

堆栈跟踪:

在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, String id) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 1238 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateObject(JsonReader reader, JsonObjectContract contract, String id) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:Newtonsoft.Json 的第 956 行。 Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:Newtonsoft 的第 433 行。杰森。Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) 在 d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 236 at Newtonsoft。 Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract, JsonConverter converter) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:Newtonsoft.Json 的第 221 行.Serialization.JsonSerializerInternalReader.PopulateList(IWrappedCollection WrappedList, JsonReader reader, String reference, JsonArrayContract contract) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:Newtonsoft.Json.Serialization.JsonSerializerInternalReader.<>c_ 处的第 794 行DisplayClass1.<CreateAndPopulateList>b _0(IList l, Boolean isTemporaryListReference) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:Newtonsoft.Json.Utilities.CollectionUtils.CreateAndPopulateList 中的第 744 行(在 Twitterizer.TwitterTimeline.UserTimeline(OAuthTokens 令牌,UserTimelineOptions 选项)在 Twitterizer.TwitterTimeline.UserTimeline(UserTimelineOptions 选项)的 Twitterizer.Core.TwitterCommand 1 命令的类型 listType,Action 2 populateList) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Utilities\CollectionUtils.cs:line 233 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateList(JsonReader reader, String reference, JsonArrayContract contract) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 732 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String reference) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 495 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 238 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract, JsonConverter converter) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 221 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 117 at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonSerializer.cs:line 421 at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonSerializer.cs:line 413 at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonConvert.cs:line 732 at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonConvert.cs:line 694 at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonConvert.cs:line 651 at Twitterizer.Core.SerializationHelper1.Deserialize(Byte[] webResponseData, DeserializationHandler deserializationHandler)1.ExecuteCommand() at Twitterizer.Core.CommandPerformer.PerformAction[T](ICommand

4

1 回答 1

3

感谢您发布此信息。我得看看它,弄清楚新版本的 json.net 发生了什么变化。

对于后代,这里也是您在那里报告错误的论坛主题。

于 2012-01-27T18:46:06.630 回答