2011-12-23 6 views
0

誰でも私にhelp.writeセクションを教えてもらえますか?それは何だろう?ハッシュテーブルの出力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でインストール可能です。

とにかくここでの大きな問題は、Hashtablesがデータを取り出すのに本当に素晴らしいものではないということです。それが返されたjsonを調べて、次に要素の次のレベルが何であるかを把握することができます。

jsonでスニッフィングすると、hteリターンの構造が次のように見えることがわかります(これは内部ハッシュテーブルとして格納されているとは思いますが)。

このdoesntの仕事は、その後oItem.Keysプロパティを見て試してみて、そこにあるWAHT表示された場合
{ "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"]); 
} 

を行くことができます。もう少し手がかりがあるかもしれません。

たとえば、結果のプロパティの1つを書き込む。

+0

ありがとうrangitatanz。 –

+0

心配はいりません。それがどのようになったのか教えてください。 –

関連する問題