Exemplo n.º 1
0
        private void ShowNextPage()
        {
            if (LoginWindow.PSKey == null)
            {
                MessageBox.Show("获取登陆信息失败!");
                return;
            }

            ilCover.Images.Clear();
            lvCover.Items.Clear();
            VideoDict.Clear();

            var token = MakeToken(LoginWindow.PSKey);
            var url   = string.Format(URLFormat, token, LoginWindow.QQ, StartIndex);
            //MessageBox.Show(url);

            var wc = new WebClient()
            {
                Encoding = Encoding.UTF8
            };

            wc.Headers.Add(HttpRequestHeader.Cookie, LoginWindow.Cookie);
            var res         = wc.DownloadString(url);
            var start_index = res.IndexOf('(') + 1;
            var end_index   = res.LastIndexOf(')');

            res = res.Substring(start_index, end_index - start_index);
            var json = new SBJsonHelper(res);

            if (json["code"].CastTo <SBJsonNumber>().Value != 0)
            {
                MessageBox.Show("ERROR");
                return;
            }

            var jsonData = json["data"];

            TotalVideos = (int)jsonData["total"].CastTo <SBJsonNumber>().Value;
            label1.Text = string.Format(LabelFormat, StartIndex / VideosPerPage + 1, TotalVideos / VideosPerPage + 1);

            StartIndex     += VideosPerPage;
            btnNext.Enabled = !bool.Parse(jsonData["isLast"].CastTo <SBJsonString>().Value);
            btnPre.Enabled  = StartIndex >= (VideosPerPage << 1);

            foreach (SBJsonDict jsonVideo in jsonData["Videos"].CastTo <SBJsonArray>().Value)
            {
                var qzvideo = new QZoneVideo(jsonVideo);
                VideoDict.Add(qzvideo.Key, qzvideo);
                lvCover.Items.Add(qzvideo.Key, qzvideo.Title, qzvideo.Key);
                DownloadManager.ManagedDownload(qzvideo.Key, qzvideo.PreImg);
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            var JsonText = "{\"foo\" : \"bar\"    ,  \"headers\" : {\"data\" : [233,{\"readme\" : \"bingo\" },false   ]  }   }";
            var SBJson = new SBJsonHelper(JsonText);

            Console.Write("SBJson.JsonText   => ");
            Console.WriteLine(JsonText);
            Console.Write("SBJson.ToString() => ");
            Console.WriteLine(SBJson);
            Console.WriteLine();

            Console.Write("SBJson[\"foo\"] => ");
            Console.WriteLine(SBJson["foo"]);
            Console.WriteLine();

            Console.Write("SBJson[\"headers\"] => ");
            Console.WriteLine(SBJson["headers"]);
            Console.WriteLine();

            Console.Write("SBJson[\"headers\"][\"data\"] => ");
            Console.WriteLine(SBJson["headers"]["data"]);
            Console.WriteLine();

            Console.Write("SBJson[\"headers\"][\"data\"][0] => ");
            Console.WriteLine(SBJson["headers"]["data"][0]);
            Console.WriteLine();

            Console.Write("SBJson[\"headers\"][\"data\"][1] => ");
            Console.WriteLine(SBJson["headers"]["data"][1]);
            Console.WriteLine();

            Console.Write("SBJson[\"headers\"][\"data\"][1][\"readme\"] => ");
            Console.WriteLine(SBJson["headers"]["data"][1]["readme"]);
            Console.WriteLine();

            Console.Write("SBJson[\"headers\"][\"data\"][2] => ");
            Console.WriteLine(SBJson["headers"]["data"][2]);
            Console.ReadKey(true);
        }