...中得到的信息?天气预报http://m.weather.com.cn/data/101230101.htm...
发布网友
发布时间:2024-10-23 22:47
我来回答
共3个回答
热心网友
时间:2024-10-29 04:07
你这个不是接口,只是个网页地址。
我找到另外一个天气预报的接口:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
只要在项目中添加Web引用:
按照这个做:
然后人就可以实例化这个对象:
调用对应的方法就可以获取接口中的信息了。
直接在IE或其它浏览器中打开这接口网址:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
可以看到那些方法的使用说明。
还是不会就不应该了。为了这15分,可以加我好友再问。
热心网友
时间:2024-10-29 04:11
利用Newtonsoft.Json可以很方便的解析Json数据,写了一个小例子可以参考一下.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using Newtonsoft.Json;
namespace GetWeatherDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnGetWeather_Click(object sender, EventArgs e)
{
txtWeather.Text = null;
//txtWeather.Text = GetWeather();
string json = GetWeather();
//反序列化Json数据
Weather weather = JsonConvert.DeserializeObject<Weather>(json);
foreach (KeyValuePair<string, string> kv in weather.WeatherInfo) {
string line = string.Format("{0}-->{1}\r\n", kv.Key, kv.Value);
txtWeather.AppendText(line);
}
}
private string GetWeather()
{
string getWeatherUrl = "http://m.weather.com.cn/data/101230101.html";
WebRequest webReq = WebRequest.Create(getWeatherUrl);
WebResponse webResp = webReq.GetResponse();
Stream stream = webResp.GetResponseStream();
StreamReader sr = new StreamReader(stream, Encoding.UTF8);
string html = sr.ReadToEnd();
sr.Close();
stream.Close();
return html;
}
}
[Serializable]
class Weather
{
[JsonProperty("weatherinfo")]
public Dictionary<string, string> WeatherInfo { get; set; }
}
}
热心网友
时间:2024-10-29 04:06
这个应该可以获取到json或者数组的格式吧 是在不行你就自己读取body里的文字分组