说明:

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. D3.js学习笔记(四)—— 使用SVG坐标空间

    目标 在这一章,你将要使用D3.js基于一些数据把SVG元素添加到你想要的坐标位置上. 我们的目标就是使用下面的数据集: var spaceCircles = [30,70,110]; 并使用D3.j ...

  2. Angular 2 Architecture Overview

    Module 简单来说模块(module)就是完成共同目的的代码块,export一些内容例如一个类.函数.或值变量. component就是一个基本的Angular块,一个component类其实也是 ...

  3. C++空类和string类

    1. 空类 1.1 空类默认哪六个成员函数. class Empty { public: Empty(); //缺省构造函数 Empty e; Empty( const Empty& ); / ...

  4. js、jq、ajax之间的关系

    一句话:js是一种客户端脚本语言,jq是在js基础上封装起来的一个开发工具,ajax是基于js的一种技术(异步刷新). javascript是一种在客户端执行的脚本语言,用来给网页添加动态功能,使网页 ...

  5. webpack4工具链升级排坑记录

    1.webpack4号称是0配置,于是我就只设置了entry.resolve.output.module->rules之类的属性,结果通过webpack-bundle-analyzer跑出来发现 ...

  6. LeetCode OJ :Unique Binary Search Trees II(唯一二叉搜索树)

    题目如下所示:返回的结果是一个Node的Vector: Given n, generate all structurally unique BST's (binary search trees) th ...

  7. less 应用

    链接           变量传入, 实现不同方向的三角形

  8. Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)

     我们在开发程序是经常会需要软件全屏显示.自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示. 首先介绍一个重要方法那就是requestWindowF ...

  9. lzugis——Arcgis Server for JavaScript API之POI

    POI(Point Of Interest),感兴趣点,其实呢,严格意义上说应该不是POI,但是单位就这样叫了,我也就这样叫了,其实现的功能大致是这样的:用过百度地图的朋友们都知道你在百度地图时,当鼠 ...

  10. 在ubuntu14.4里编译UBOOT出错

    出错信息如下: OBJCOPY examples/standalone/hello_world.bin  LDS     u-boot.lds  LD      u-boot./scripts/dtc ...