...中得到的信息?天气预报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里的文字分组
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com