Hashtable выход Asp.net MVC - PullRequest
       3

Hashtable выход Asp.net MVC

0 голосов
/ 23 декабря 2011

Кто-нибудь может мне помочь в разделе response.write?Что бы это было?

Упс!Ваш вопрос не может быть отправлен, потому что: ваше сообщение не имеет большого контекста для объяснения разделов кода;пожалуйста, объясните ваш сценарий более четко.

   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.?);
        }
    }

1 Ответ

0 голосов
/ 23 декабря 2011

Лучше всего здесь создать структуру данных, которая лучше, чем хеш-таблица при хранении информации в результатах.Я уверен, что есть множество примеров этого.

Я не уверен, какая у вас библиотека json, но мне очень повезло с newtonsoft.Json - устанавливается с помощью nuget.

Так что в любом случае главная проблема здесь в том, что Hashtables не 'действительно отлично подходит для получения данных.Вы можете исследовать возвращенный 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" : 150213210446897152,
    "id_str" : "150213210446897152",
    "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 и увидите, что там.Может быть еще несколько подсказок.

Например, написать одно из свойств результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...