json.NET解析twitter API数据的问题

我已经在项目中成功使用json.NET一段时间没有任何问题。 昨晚我遇到了第一个案例,其中json.NET崩溃试图解析从应该是可靠来源返回的json数据:twitter API。

具体来说,此代码导致错误:

string sCmdStr = String.Format("https://api.twitter.com/1/users/lookup.json?screen_name={0}", sParam); string strJson = _oauth.APIWebRequest("GET", sCmdStr, null); JObject jsonDat = JObject.Parse(strJson); 

在我的例子中,sParam字符串包含大约25个twitter数字ID。 twitter API调用成功,但json.NET Parse调用失败,出现以下错误:

“从JsonReader读取JObject时出错。当前JsonReader项不是对象:StartArray”

有没有其他人遇到这个? 有谁知道它周围的任何方式? 直到我解决它,我才停下来。

我得到了完全相同的错误,并最终弄明白了。 而不是使用JObject.Parse使用JArray.Parse。 所以这是你的代码:

 string sCmdStr = String.Format("https://api.twitter.com/1/users/lookup.json?screen_name={0}", sParam); string strJson = _oauth.APIWebRequest("GET", sCmdStr, null); JArray jsonDat = JArray.Parse(strJson); 

然后,您可以遍历数组并为每个推文创建一个jobject。

 for(int x = 0; x < jsonDat.Count(); x++) { JObject tweet = JObject.Parse(jsonDat[x].toString()); string tweettext = tweet["text"].toString(); //whatever else you want to look up }