Exemplo n.º 1
0
        private void btnJson解析_Click(object sender, EventArgs e)
        {
            //我们的接口
            string url = "https://midway.51tiangou.com/search/result/init.node?type=index&tgTabBarParams={%22startNum%22%3A%220%22%2C%22pageCount%22%3A%2210%22}&topBarIndex=0&cityId=2554&cityIds=2554&storeIds=1065&listType=product&range=all&tabIndex=0&startNum=0&pageCount=10&scp=07.searchresult.search.0&words=%E8%8C%85%E5%8F%B0&_=1599633833337&childIndex=0&currentView=2&superStoreId=1065";

            //将接口传入,这个HttpUitls的类,有兴趣可以研究下,也可以直接用就可以,不用管如何实现。
            string getJson = HttpUitls.Get(url);

            //这个需要引入Newtonsoft.Json这个DLL并using
            //传入我们的实体类还有需要解析的JSON字符串这样就OK了。然后就可以通过实体类使用数据了。

            int    LastDataFrom = getJson.LastIndexOf(",{");
            int    LastDataTo   = getJson.LastIndexOf("]");
            string strTempFrist = getJson.Substring(0, LastDataFrom);
            string strTempEnd   = getJson.Substring(LastDataTo);

            getJson = strTempFrist + strTempEnd;
            Root rt = JsonConvert.DeserializeObject <Root>(getJson);

            //这样就可以取出json数据里面的值

            //由于这个JSON字符串的 public List<DataItem> data 是一个集合,所以我们需要遍历集合里面的所有数据
            foreach (DataItem item in rt.data)
            {
                string strUrl = "http:" + item.data.clickUrl;
                Common.listUrl.Add(strUrl);

                TabPage tp = new TabPage(item.data.title);

                Panel pnlBrowser = new Panel();
                pnlBrowser.Dock = DockStyle.Fill;
                tp.Controls.Add(pnlBrowser);

                TextBox txtUrl = new TextBox();
                txtUrl.Dock = DockStyle.Top;
                pnlBrowser.Controls.Add(txtUrl);

                GoogleWebBrowser googleBrowser = new GoogleWebBrowser();
                googleBrowser.Start(pnlBrowser, strUrl);

                tabControl1.TabPages.Add(tp);
            }
        }
Exemplo n.º 2
0
        public static void ExecuteJs(GoogleWebBrowser chromiumWebBrowser, string js)
        {
            var frame = chromiumWebBrowser.GetMainFrame();

            frame.EvaluateScriptAsync(js);
        }