C# 获取天气 JSON解析
说明:
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;
程序:
关键代码如下:
- using System.Web;
- using System.Web.Extensions;
- using System.Web.Script.Serialization;
- 类,装天气信息
- public class Weather
- {
- public Info weatherinfo;
- }
- public class Info
- {
- public string city;//城市
- public int temp; //温度
- public string WD; //风向
- public string WS; //风力
- public string SD; //相对湿度
- public string time;//更新时间
- }
- //获取天气和解析
- HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.weather.com.cn/data/sk/101010100.html");
- request.Timeout = 5000;
- request.Method = "GET";
- HttpWebResponse response = (HttpWebResponse)request.GetResponse();
- StreamReader sr = new StreamReader(response.GetResponseStream());
- string jsonstr = sr.ReadLine();
- JavaScriptSerializer j = new JavaScriptSerializer();
- Weather weather = new Weather();
- 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解析的更多相关文章
- [Android]天气App 3 网络数据的请求和Json解析
Android客户端开发,不仅仅是在Android端开发,还需要有相应的后台服务支持,否则的话,客户端的数据就只能放到本地自己做处理.我认为的原生态的App就是对应服务端的Client.他能像浏览 ...
- jsonObject jsonArray jsonTokener jsonStringer,json解析以及http请求获取josn数据并加以解析
JSON的定义: 一 种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的 支持),从而可以在不同平台间进行 ...
- Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)
前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...
- Android从服务端获取json解析显示在客户端上面
Android从服务端获取json解析显示在客户端上面 百度经验:jingyan.baidu.com 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Jso ...
- html中通过js获取接口JSON格式数据解析以及跨域问题
前言:本人自学前端开发,一直想研究下js获取接口数据在html的实现,顺利地找到了获取数据的方法,但是有部分接口在调用中出现无法展示数据.经查,发现时跨域的问题,花费了一通时间,随笔记录下过程,以方便 ...
- java解析xml实例——获取天气信息
获取xml并解析其中的数据: package getweather.xml; import java.io.IOException; import java.util.HashMap; import ...
- 半吊子学习Swift--天气预报程序-获取天气信息
昨天申请的彩云天气Api开发者今天上午已审核通过  饭后运动过后就马不停蹄的来测试接口,接口是采用经纬度的方式来获取天气信息,接口地址如下 https://api.caiyunapp.com/v2/ ...
- IOS中Json解析的四种方法
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验 ...
- 从百度API中获取天气
网络上看到鱼C的Python入门课程不错,语言风格也引人入胜,想做个实验,这东西到底好不好入门, 就把这个视频推荐给老婆,让他试着学一下,做足了老婆的工作. 这不,这两天她很上心,学得很有成就感,我也 ...
随机推荐
- 为啥YII2 会出现 mcrypt_generic_init(): Key size is 0
解决方案如下: (关键) 示例代码中,加密解密类的实例创见通过 Class 同名方法 的方式创建. public function WXBizMsgCrypt($token, $encodingAes ...
- lambda表达式----使用
List<THealthKnowledgeEntity> tHealthKnowledgeList = tHealthKnowledgeService.queryList(query);L ...
- webpack打包图片资源找不到问题
当我们进行前端打包时,需改成如下配置: 往常这样打包是没有问题的,可是今天进行项目打包的时候缺报图片找不到的错误,如图所示: 头部组件的图片资源找不到错误,后台发现因为头部组件的背景图片size过大, ...
- js、jq、ajax之间的关系
一句话:js是一种客户端脚本语言,jq是在js基础上封装起来的一个开发工具,ajax是基于js的一种技术(异步刷新). javascript是一种在客户端执行的脚本语言,用来给网页添加动态功能,使网页 ...
- UI - 视图控制器跳转另一个视图控制器特效总结
1. 从一个视图控制器跳转另一个视图控制器的方式是可以进行设置的 CATransition *animation = [[CATransition alloc]init]; animation.dur ...
- main(int argc, char *argv[])详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int ar ...
- java事务(二)——本地事务
本地事务 事务类型 事务可以分为本地事务和分布式事务两种类型.这两种事务类型是根据访问并更新的数据资源的多少来进行区分的.本地事务是在单个数据源上进行数据的访问和更新,而分布式事务是跨越多个数据源来进 ...
- 说说geotools中坐标转换那点事
概述: 本文说说geotools中坐标转换的那点事情,以WGS84和web墨卡托相互转换为例. 效果: 转换前 转换后 单个Geometry转换 实现代码: package com.lzugis.ge ...
- 前端之JavaScript 补充
1. BOM window location.href = "https://www.sogo.com" location.reload() // 重新加载当前页 location ...
- MpVue开发之框架的搭建
npm install --global vue-cli vue脚手架 vue init mpvue/mpvue-quickstart my-project 创建一个基于mpvue-quickst ...