Cómo mostrar la propiedad de un objeto JSON en un DataGridView

Меня encontré подставляют надетый json ejemplos esta almacenado ООН строка ООН, en este caso se encuentra en un objeto de la clase RootObject.

Método el cual obtiene en el JSON:

public static RootObject descargaDatos(string ChannelNo, string APIKey)
        {
            string url = "http://api.thingspeak.com/channels/";
            StringBuilder sb = new StringBuilder();

            sb.Append(url + ChannelNo + "/feed.json?key=" + APIKey+ "&results=2");

            string requestUrl = sb.ToString();
            try
            {
                HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
                using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                {
                    if (response.StatusCode != HttpStatusCode.OK)
                        throw new Exception(String.Format(
                        "Server error (HTTP {0}: {1}).",
                        response.StatusCode,
                        response.StatusDescription));
                    DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(RootObject));
                    object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
                    RootObject jsonResponse = objResponse as RootObject;
                    return jsonResponse;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return null;
            }
        }

Clases deserializadas:

public class Channel
{
    public int id { get; set; }
    public string name { get; set; }
    public string latitude { get; set; }
    public string longitude { get; set; }
    public string field1 { get; set; }
    public string field2 { get; set; }
    public string field3 { get; set; }
    public string created_at { get; set; }
    public string updated_at { get; set; }
    public int last_entry_id { get; set; }
}

public class Feed
{
    public string created_at { get; set; }
    public int entry_id { get; set; }
    public string field1 { get; set; }
    public string field2 { get; set; }
    public string field3 { get; set; }
}

public class RootObject
{
    public Channel channel { get; set; }
    public List<Feed> feeds { get; set; }
}

De un objeto RootObject la propiedad feeds quiero que se muestre en un DataGridView.

Url de JSON:

https://api.thingspeak.com/channels/205059/feeds.json?/feed.json? key=514TMIIH277BYH76&results=2

0
задан 13.02.2017, 05:19
0 ответов

Debido a que dicha propiedad es un listado solo tienes que hacer:

RootObject rootObject = DescargaDatos("205059", "514TMIIH277BYH76");
dataGridView1.DataSource = rootObject.feeds;

Donde, dataGridView1 es el nombre del control DataGridView.

Restulado al insertar listado de la propiedad feed de la clase RootObject

Детальные описания.

En caso quieras Definir las columnas,

1
ответ дан 03.12.2019, 17:07