2011-12-23 35 views
0

有人可以幫我在response.write部分?會是什麼?Hashtable輸出Asp.net MVC

糟糕!您的問題無法提交,因爲: 您的帖子沒有太多的上下文來解釋代碼段;請更清楚地解釋你的情況。

public void Test() 
    { 

     Hashtable hs = new Hashtable(); 
     ArrayList a = new ArrayList(); 

     WebRequest wr = WebRequest.Create(string.Format("http://search.twitter.com/search.json?q={0}&rpp={1}&page={2}", "seni seviyorum", 20, 1)); 
     Stream s = wr.GetResponse().GetResponseStream(); 
     StreamReader sr = new StreamReader(s); 
     string Sonuc = sr.ReadToEnd(); 

     hs = (Hashtable)JSON.JsonDecode(Sonuc); 

     string from_user = hs["from_user"] != null ? hs["from_user"].ToString() : ""; 
     string to_user = hs["to_user"] != null ? hs["to_user"].ToString() : ""; 
     string text = hs["text"] != null ? hs["text"].ToString() : ""; 
     string profile_image_url = hs["profile_image_url"] != null ? hs["profile_image_url"].ToString() : ""; 
     string tweet_id = hs["id"] != null ? hs["id"].ToString() : ""; 
     DateTime created_at = hs["created_at"] != null ? DateTime.Parse(hs["created_at"].ToString()) : DateTime.Now; 
     string twitter_url = string.Format("http://twitter.com/{0}/statuses/{1}", from_user, tweet_id); 

     foreach (Hashtable oItem in (ArrayList)hs["results"]) 
     { 
      Response.Write(oItem.?); 
     } 
    } 

回答

0

你最好在這裏創建一個比散列表更好的數據結構來存儲結果中的信息。我確信有很多這方面的例子。

我不確定你有什麼json庫,但是我已經用newtonsoft.Json運行了很多 - 可以用nuget安裝。

因此,無論如何,這裏的主要問題是哈希表對於獲取數據不是很好。就像你可以調查返回的json,然後找出下一個元素是什麼。

在json上嗅探,你可以看到hte返回的結構看起來像這樣(猜測我會想象這可能會作爲內部哈希表存儲,雖然我無法調試它告訴):

{ "created_at" : "Fri, 23 Dec 2011 13:56:34 +0000", 
    "from_user" : "Canboonn", 
    "from_user_id" : 251744686, 
    "from_user_id_str" : "251744686", 
    "from_user_name" : "Bayram Can Avci", 
    "geo" : null, 
    "id" :446897152, 
    "id_str" : "446897152", 
    "iso_language_code" : "tr", 
    "metadata" : { "result_type" : "recent" }, 
    "profile_image_url" : "http://a1.twimg.com/profile_images/1700040754/IMG_8783_normal.JPG", 
    "profile_image_url_https" : "https://si0.twimg.com/profile_images/1700040754/IMG_8783_normal.JPG", 
    "source" : "<a href="http://twitter.com/">web</a>", 
    "text" : "30 Aralik'a kadar 10 TL yüklersem her yöne 100 dakika, 100 sms ve 100 MB internet hediyeee, seviyorum seni #vodafone", 
    "to_user" : null, 
    "to_user_id" : null, 
    "to_user_id_str" : null, 
    "to_user_name" : null 
    } 

所以,你可以去

foreach (Hashtable oItem in (ArrayList)hs["results"]) 
{ 
    Response.Write(oItem["from_user"]); 
} 

如果不工作,然後嘗試看看oItem.Keys財產和看啥子就在那裏。可能還有一些線索。

例如編寫結果的其中一個屬性。

+0

謝謝rangitatanz。 – 2011-12-23 15:14:09

+0

不用擔心。讓我知道結果如何.. – 2011-12-23 15:41:44