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 }