using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//先在项目中添加System.Web.Extensions引用.net 3.5
using System.Web.Script.Serialization;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Text;
using System.Net; namespace JSONFromCS
{
public partial class WebForm3 : System.Web.UI.Page
{
/// <summary>
/// 将json数据反序列化为Dictionary
///http://www.weather.com.cn/static/html/legend.shtml 天气图示
/// </summary>
/// <param name="jsonData">json数据</param>
/// <returns></returns>
private Dictionary<string, object> JsonToDictionary(string jsonData)
{
//实例化JavaScriptSerializer类的新实例
JavaScriptSerializer jss = new JavaScriptSerializer();
try
{
//将指定的 JSON 字符串转换为 Dictionary<string, object> 类型的对象
return jss.Deserialize<Dictionary<string, object>>(jsonData);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{ string url = "http://www.weather.com.cn/data/cityinfo/101280601.html";
WebClient wc = new WebClient();
wc.Encoding = System.Text.Encoding.UTF8;//定义对象语言
string json = wc.DownloadString(url);
//string json = "{\"weatherinfo\":{\"city\":\"深圳\",\"cityid\":\"101280601\",\"temp\":\"32\",\"WD\":\"西南风\",\"WS\":\"4级\",\"SD\":\"68%\",\"WSE\":\"4\",\"time\":\"16:40\",\"isRadar\":\"1\",\"Radar\":\"JC_RADAR_AZ9755_JB\"}}";
StringBuilder strb = new StringBuilder();
Dictionary<string, object> dic = JsonToDictionary(json);//将Json数据转成dictionary格式
Dictionary<string, object> dataSet = (Dictionary<string, object>)dic["weatherinfo"];
//使用KeyValuePair遍历数据
foreach (KeyValuePair<string, object> item in dataSet)
{ strb.Append(item.Key + ":" + item.Value + "<br/>");//显示到界面 } Response.Write(strb.ToString());
}
}
}

最新文章

  1. BPM实例分享——日期自动计算
  2. 基于Tomcat的Solr3.5集群部署
  3. js验证姓名和身份证号
  4. poj 1276 多重背包
  5. linux打开文件数量的查看方法
  6. Woobuntu woobuntu_build.sh hacking
  7. linux 使用kill命令杀死进程的几个办法
  8. OK335xS Qt network hacking
  9. iOS中常用的四种数据持久化方法简介
  10. js delete 用法
  11. 【转】如何在ubuntu12.04设置adb驱动
  12. JS正则表达式大全【转】
  13. RabbitMQ-从基础到实战(1)— Hello RabbitMQ
  14. WebApi 接口返回值类型详解 ( 转 )
  15. 架构师技能图谱 V1.2
  16. 在浏览器上使用 react
  17. SQL SERVER 一个SQL语句的执行顺序
  18. MySQL数据库----IDE工具介绍及数据备份
  19. Invalid args, too big block
  20. 数据库初识--从MySQL 出发

热门文章

  1. MyEclipse迁移过程中Tomcat版本不一致的解决办法
  2. Python常用功能函数
  3. es查询,聚合、平均值、值范围、cardinality去重查询
  4. c语言-学生成绩信息系统
  5. vue Vue-cli 笔记
  6. 爬虫防封IP
  7. 在eclips中配置maven
  8. 【算法笔记】B1019 数字黑洞
  9. Notepad++配置替换快捷配置
  10. js面向对象(一)——封装