说明:

winform获取中国天气的数据

中国天气返回的是JSON数据格式,这里做简单的解析。

用的http://www.weather.com.cn/data/sk/.html获取的天气。    【101010100为城市代码参见 
    接口详解

命名空间:

由于C#不是asp.net,所以要在项目中要先添加两个命名空间的引用。

1:System.Web;

2:System.Web.Extensions;

然后在项目中添加命名空间引用,如下

using System.Web.Script.Serialization;

程序:

关键代码如下:

[csharp] view
plain
 copy

  1. using System.Web;
  2. using System.Web.Extensions;
  3. using System.Web.Script.Serialization;
[csharp] view
plain
 copy

  1. 类,装天气信息
  2. public class Weather
  3. {
  4. public Info weatherinfo;
  5. }
  6. public class Info
  7. {
  8. public string city;//城市
  9. public int temp;   //温度
  10. public string WD;  //风向
  11. public string WS;     //风力
  12. public string SD;  //相对湿度
  13. public string time;//更新时间
  14. }
[csharp] view
plain
 copy

  1. //获取天气和解析
  2. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.weather.com.cn/data/sk/101010100.html");
  3. request.Timeout = 5000;
  4. request.Method = "GET";
  5. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  6. StreamReader sr = new StreamReader(response.GetResponseStream());
  7. string jsonstr = sr.ReadLine();
  8. JavaScriptSerializer j = new JavaScriptSerializer();
  9. Weather weather = new Weather();
  10. weather = j.Deserialize<Weather>(jsonstr);

结果:

参考资料:

C#实现JSON序列化与反序列化介绍:http://www.csharpwin.com/csharpspace/10822r2908.shtml

通过代码打开一个网站,并获取该网站输出的字符串:http://bbs.csdn.net/topics/300168123  wangjun8868 的回帖

JSON介绍:http://baike.baidu.com/view/136475.htm

JSON的命名空间引用:http://wenwen.soso.com/z/q360338444.htm

其他:

http://www.soaspx.com/dotnet/csharp/csharp_20100713_5052.html

http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html

天气预报接口:http://blog.csdn.net/a535537066/article/details/6656365

http://www.weather.com.cn/data/sk/.html

http://www.weather.com.cn/data/cityinfo/.html

http://m.weather.com.cn/data/.html

C# 获取天气 JSON解析的更多相关文章

  1. [Android]天气App 3 网络数据的请求和Json解析

      Android客户端开发,不仅仅是在Android端开发,还需要有相应的后台服务支持,否则的话,客户端的数据就只能放到本地自己做处理.我认为的原生态的App就是对应服务端的Client.他能像浏览 ...

  2. jsonObject jsonArray jsonTokener jsonStringer,json解析以及http请求获取josn数据并加以解析

    JSON的定义: 一 种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的 支持),从而可以在不同平台间进行 ...

  3. Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)

    前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...

  4. Android从服务端获取json解析显示在客户端上面

    Android从服务端获取json解析显示在客户端上面 百度经验:jingyan.baidu.com 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Jso ...

  5. html中通过js获取接口JSON格式数据解析以及跨域问题

    前言:本人自学前端开发,一直想研究下js获取接口数据在html的实现,顺利地找到了获取数据的方法,但是有部分接口在调用中出现无法展示数据.经查,发现时跨域的问题,花费了一通时间,随笔记录下过程,以方便 ...

  6. java解析xml实例——获取天气信息

    获取xml并解析其中的数据: package getweather.xml; import java.io.IOException; import java.util.HashMap; import ...

  7. 半吊子学习Swift--天气预报程序-获取天气信息

    昨天申请的彩云天气Api开发者今天上午已审核通过  饭后运动过后就马不停蹄的来测试接口,接口是采用经纬度的方式来获取天气信息,接口地址如下 https://api.caiyunapp.com/v2/ ...

  8. IOS中Json解析的四种方法

    作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验 ...

  9. 从百度API中获取天气

    网络上看到鱼C的Python入门课程不错,语言风格也引人入胜,想做个实验,这东西到底好不好入门, 就把这个视频推荐给老婆,让他试着学一下,做足了老婆的工作. 这不,这两天她很上心,学得很有成就感,我也 ...

随机推荐

  1. 卸载oracle11g

    完全卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务.2. 开始->程序->Oracle - OraHome ...

  2. Ajax编程(HTTP请求与响应及API)详解

    AJAX编程 即 Asynchronous [e'sɪŋkrənəs] Javascript And XML, AJAX 不是一门的新的语言,而是对现有技术的综合利用. 本质是在HTTP协议的基础上以 ...

  3. 如何查看Windows10连接的WiFi密码

    1.找到 WiFi 图标,右击鼠标,点击 打开‘网络和internet设置’ 2.点击 1 所指图标,然后点击 2 所指图标 3.鼠标左击图标 4.点击如下图标 5.先点击 1 的图标,在勾选 2 的 ...

  4. MySQL数据库维护、备份、和复制

    预防性维护的基本原则:1)启动MySQL服务器提供的自动恢复功能2)有计划的开展预防心维护工作,定期对表进行检查,日常的表检查有助于及时发现各种小问题,并在问题变得更糟之前将其纠正.3)建立数据库备份 ...

  5. 010-对象——构造方法__construct析构方法__destruct使用方法 PHP重写与重载

    <?php /*抽象方法和抽象类 抽象类必须通过子类继承之后,才能实现实例化. 类中有抽象方法,必须声明抽象类. 如果是抽象类,可以没有抽象方法,但必须通过子类去继承之后,实现实例化 final ...

  6. 【51nod-1596】搬货物

    现在有n个货物,第i个货物的重量是 2wi .每次搬的时候要求货物重量的总和是一个2的幂.问最少要搬几次能把所有的货物搬完. 样例解释: 1,1,2作为一组. 3,3作为一组. Input 单组测试数 ...

  7. Elasticsearch Painless语言(实现搜索打分基础)

    With the release of Elasticsearch 5.x came Painless, Elasticsearch's answer to safe, secure, and per ...

  8. R 语言赋值运算符:`<-` , `=`, `<<-`

    <- 与 = 间的区别 <- 与 = 在大部分情况下是应该可以通用的.并且,相对于 <<- 运算符,它们的赋值行为均在它们自身的环境层(environment hierarch ...

  9. ngxtop实时监控nginx状态

    ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop.有了ngxtop,你可以实时了解到当前nginx的访问状况,再也不需要tail ...

  10. (十八)js控制台方法

    console.log 以日志的形式打印 console.warn 输出警示信息 console.info 输出提示信息 console.error 输出错误信息 console.debug 输出调试 ...