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 ...
随机推荐
- 【SqlServer系列】表连接
1 概述 1.1 已发布[SqlServer系列]文章 [SqlServer系列]MYSQL安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 1.2 本篇 ...
- <object>元素+svg 绘制图片
结果图: 将以下代码保存至sample.svg文件中: <!-- SVG图形一开始生命命名空间 --> <svg xmlns="http://www.w3.org/2000 ...
- java Semaphore的介绍和使用
一个计数信号量.从概念上讲,信号量维护了一个许可集.如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可.每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者. ...
- java 对象与json互转
有时为了项目需求,会将对象数据转换成json数据,以下是个人根据项目需求实现的方法. 项目中需要将数据格式: [{ "node": "0", "ind ...
- Socket通信中的 BeginReceive与EndReceive
BeginReceive 与endReceive 必须成对出现,如果BeginReceive没有及时调用endReceive,可能会出现数据被从buffer中读取二次,如果在下面这行代码下面加入别的代 ...
- firefox插件开发及源码下载
在个别情况下,由于数据量巨大,造成显示性能的明显下降,此时使用c++开发firefox插件,可以提高用户使用体验. test.html: 在插件中,我们导出3个函数给js:AddStr, Pause, ...
- Android5.1 - 通讯录建立群组
[问题] 在没有账户的时候,不应该有添加联系人群组的选项. 我们要把这个选项干掉. [相关log]06-23 17:25:00.804: E/GroupEditorFragment(6030): No ...
- ES6正则表达式扩展
前面的话 正则表达式是javascript操作字符串的一个重要组成部分,但在以往的版本中并未有太多改变.然而,在ES6中,随着字符串操作的变更, ES6也对正则表达式进行了一些更新.本文将详细介绍ES ...
- word2vec原理(二) 基于Hierarchical Softmax的模型
word2vec原理(一) CBOW与Skip-Gram模型基础 word2vec原理(二) 基于Hierarchical Softmax的模型 word2vec原理(三) 基于Negative Sa ...
- JPA常用注解
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA由EJB 3.0软件专家 ...