在Gridview中将Json数据捕获为字符串

时间:2019-01-29 13:52:30

标签: c# json

我正在设置一个网站ASPX文件,该文件可以捕获接下来3天的天气,输出格式为JSON,它们的类太复杂了,以至于我无法理解。如果我只想提取接下来3天的天气,该如何继续呢?

https://samples.openweathermap.org/data/2.5/forecast?q=London,us&appid=b6907d289e10d714a6e88b30761fae22

这是显示在顶部的JSON输出。

What I'm trying to accomplish is to extract the next 3 days of the weather "Description" and put it to a GridView.我使用JSON美化器获取类,但我仍然感到困惑。

任何帮助将不胜感激

这是我当前的代码,我被卡在这里

   protected void Button1_Click(object sender, EventArgs e)
    {
        string searchTerm = TextBox1.Text;

        var webRequest = (HttpWebRequest)WebRequest.Create("https://samples.openweathermap.org/data/2.5/forecast?q=" + Server.UrlEncode(searchTerm) + "&units=metric&APPID=b6907d289e10d714a6e88b30761fae22");

        var webResponse = (HttpWebResponse)webRequest.GetResponse();

        if (webResponse.StatusCode == HttpStatusCode.OK)
        {

            Label1.Text = "The Next 3 days of weather in your area in" + searchTerm + " .";
            JavaScriptSerializer json = new JavaScriptSerializer();
            StreamReader sr = new StreamReader(webResponse.GetResponseStream());
            string resString = sr.ReadToEnd();
            });

            GridView1.DataSource = ?;
            GridView1.DataBind();
        }
        else
            Label.Text = "Invalid Response";
    }

 public class Main
    {
        public double temp { get; set; }
        public double temp_min { get; set; }
        public double temp_max { get; set; }
        public double pressure { get; set; }
        public double sea_level { get; set; }
        public double grnd_level { get; set; }
        public int humidity { get; set; }
        public double temp_kf { get; set; }
    }

    public class Weather
    {
        public int id { get; set; }
        public string main { get; set; }
        public string description { get; set; }
        public string icon { get; set; }
    }

    public class Clouds
    {
        public int all { get; set; }
    }

    public class Wind
    {
        public double speed { get; set; }
        public double deg { get; set; }
    }

    public class Sys
    {
        public string pod { get; set; }
    }

    public class Rain
    {
        public double __invalid_name__3h { get; 

set; }
    }

    public class Snow
    {
        public double __invalid_name__3h { get; 

set; }
    }

    public class List
    {
        public int dt { get; set; }
        public Main main { get; set; }
        public List<Weather> weather { get; set; }
        public Clouds clouds { get; set; }
        public Wind wind { get; set; }
        public Sys sys { get; set; }
        public string dt_txt { get; set; }
        public Rain rain { get; set; }
        public Snow snow { get; set; }
    }

    public class Coord
    {
        public double lat { get; set; }
        public double lon { get; set; }
    }

    public class City
    {
        public int id { get; set; }
        public string name { get; set; }
        public Coord coord { get; set; }
        public string country { get; set; }
    }

    public class RootObject
    {
        public string cod { get; set; }
        public double message { get; set; }
        public int cnt { get; set; }
        public List<List> list { get; set; }
        public City city { get; set; }
    }

0 个答案:

没有答案