static string GetLotteryByPhase(string phaseNo) { // Set the url and charset string url = "http://baidu.lecai.com/lottery/draw/ajax_get_detail.php?lottery_type=50&phase=" + phaseNo; string charset = "gb2312"; dynamic lotteryObj = null; JArray redBalls = null; JArray blueBall = null; string lotteryStr = GetValueFromWeb(url, charset); try { // Deserialize the json string lotteryObj = JsonConvert.DeserializeObject(lotteryStr); // Get the expected data from json structure redBalls = lotteryObj.data.result.result[0].data; blueBall = lotteryObj.data.result.result[1].data; } catch (Exception) { return string.Empty; } StringBuilder sb = new StringBuilder(); // Get the value from JToken by convrting the JArray to int array int[] items = redBalls.Select(jv => (int)jv).ToArray(); foreach (int item in items) { sb.Append(item.ToString()); sb.Append(", "); } // Get the value from JToken directly string blueBallStr = ((int)blueBall[0]).ToString(); sb.Append(blueBallStr); return sb.ToString(); ; } // Retrieve data by sending http web request public static string GetValueFromWeb(string Url, string CharSet) { string resultData = string.Empty; try { // Set HttpWebRequest's header HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(Url); wReq.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; wReq.ContentType = "application/x-www-form-urlencoded"; wReq.Accept = "*/*"; wReq.KeepAlive = true; wReq.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5"); // Get and read the response WebResponse wResp = wReq.GetResponse(); Stream respStream = wResp.GetResponseStream(); StreamReader reader = new StreamReader(respStream, Encoding.GetEncoding(CharSet)); resultData = reader.ReadToEnd(); return resultData; } catch { return resultData; } }