Get json formatted string from web by sending HttpWebRequest and then deserialize it to get needed data
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[].data;
blueBall = lotteryObj.data.result.result[].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[]).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;
}
}
Get json formatted string from web by sending HttpWebRequest and then deserialize it to get needed data的更多相关文章
- JSON与String 格式的转换
JSON 可以用 .push() 添加新数据 var json =[ { title:"1",content:"Tom" }, { title:"2& ...
- JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...
- JSON 与 String、Map、JavaBean互转
JSON 与 String.Map.JavaBean互转 //解析远程登录用户信息 AttributePrincipal principal = AssertionHolder.getAssertio ...
- json和string 之间的相互转换
json和string 之间的相互转换 <script type="text/javascript"> //先认识一下js中json function showInfo ...
- json转String 和 String转json 和判断对象类型
function ajaxGetMenuList(){ $.getJSON("login.do", function(json){ var r = ""; zN ...
- 【JAVASCRIPT】json 与 string
1. 互相转换 JSON.stringify(jsonobj) json对象转化为string JSON.parse(string) string转化为json,注意{“name”:"hxy ...
- JSON与String之间互转
一,String转json 这个JSON.parse()与eval()都可以实现,但是它们是有区别的, JSON.parse对json字符串要求比eval()更为严格,key名称(例如name)全部必 ...
- JS中JSON和string字符串相互转换
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...
- 小tips:JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...
随机推荐
- c#编程-线程同步
线程同步 上一篇介绍了如何开启线程,线程间相互传递参数,及线程中本地变量和全局共享变量区别. 本篇主要说明线程同步. 如果有多个线程同时访问共享数据的时候,就必须要用线程同步,防止共享数据被破坏.如果 ...
- webstrom一键上传github及使用
对于webstrom是我参加it修真园时就推荐使用的,其他编辑器我也没什么使用过.读大学的时候还是比较喜欢 Notepad++. 现在说一下webstrom主要的关键点吧! 一.实现一键上传githu ...
- 打印水仙花数(narcissus number)
题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个" ...
- webpack热更新问题和antd design字体图标库扩展
标题也不知道怎么写好,真是尴尬.不过话说回来,距离上一次写文快两个月了,最近有点忙,一直在开发新项目, 今天刚刚闲下来,项目准备提测.借这个功夫写点东西,把新项目上学到的一些好的干活分享一下,以便之后 ...
- hdu_1564: Play a game
题目链接 看n的奇偶性,题解参见kuangbin的博客 http://www.cnblogs.com/kuangbin/archive/2013/07/22/3204654.html #include ...
- NLP —— 图模型(一)隐马尔可夫模型(Hidden Markov model,HMM)
本文简单整理了以下内容: (一)贝叶斯网(Bayesian networks,有向图模型)简单回顾 (二)隐马尔可夫模型(Hidden Markov model,HMM) 写着写着还是写成了很规整的样 ...
- TWS日志查看
背景:记录下tws的日志查看过程,备忘 1 日志查看过程 根据企业的流水号,在日志中查询企业发送的报文: ps:期间最好将日志所在的行号进行记录,方便定位. 2017032802_2017070700 ...
- HDU 6047 Maximum Sequence(线段树)
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=6047 题目: Maximum Sequence Time Limit: 4000/2000 MS (J ...
- java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
今天使用hql语句的时候,遇到了一个这样的bug,修改的方法是
- 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
首先,本文所有 代码已经提交到github,需要的可以直接从github获取:https://github.com/starts2000/CefSharp,希望可以帮助到有需要的朋友们. CEF 简介 ...