PROBLEMA COM RETORNO JOSN

 Tópico anterior Próximo tópico Novo tópico

PROBLEMA COM RETORNO JOSN

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#498030 - 05/09/2021 19:45:06

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


oça pessoal pequei esse codigo exemplo de uma utilização de uma api retorno json mas estou com problema em pegar esse campo

classe

       public class root
        {
            public string name { get; set; }
            public sys sys { get; set; }
            public double dt { get; set; }
            public wind wind { get; set; }
            public main main { get; set; }
            public List<weather> weatherList { get; set; }
            public coord coordinate { get; set; }
        }
        public class weather
        {
            public int id { get; set; }
            public string main { get; set; }
            public string decription { get; set; }
        }



void getWeather(string city)
        {
            try
            {
                using (WebClient web = new WebClient())
                {
                    string url = string.Format('http://api.openweathermap.org/data/2.5/weather?q={0}&appid={1}&units=metric&lang=pt_br', city, APPID);

                    var json = web.DownloadString(url);

                    var result = JsonConvert.DeserializeObject<WeatherInfo.root>(json);

                    WeatherInfo.root outPut = result;

                    lbl_cityName.Text = string.Format('{0}', outPut.name);
                    lbl_country.Text = string.Format('{0}', outPut.sys.country);
                    lbl_temp.Text = string.Format('{0} \u00B0' + 'C', outPut.main.temp);
                    lbl_day.Text = string.Format('{0}', getDate(outPut.dt).DayOfWeek);
                    lbl_wind.Text = string.Format('Wind: {0} km/h', outPut.wind.speed);
                    lbl_humil.Text = string.Format('Humidity: {0} %', outPut.main.humidity);

                    var resulte = JsonConvert.DeserializeObject<WeatherInfo.weather>(json);
                    WeatherInfo.weather outPute = resulte;

                    label2.Text = ?
                }
            }
            catch
            {
                // MessageBox.Show('Erro ao localizar a cidade', 'Digite uma cidade', MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


          






        }



json

{'coord':{'lon':-45.2522,'lat':-19.7364},'weather':[{'id':801,'main':'Clouds','description':'algumas nuvens','icon':'02n'}],'base':'stations','main':{'temp':25.32,'feels_like':24.66,'temp_min':25.32,'temp_max':25.32,'pressure':1012,'humidity':29,'sea_level':1012,'grnd_level':929},'visibility':10000,'wind':{'speed':2.48,'deg':54,'gust':2.52},'clouds':{'all':13},'dt':1630881852,'sys':{'country':'BR','sunrise':1630832757,'sunset':1630875225},'timezone':-10800,'id':3469516,'name':'Bom Despacho','cod':200}

preciso obter oque esta de vermelho, alguem pode me ajudar?



Resposta escolhida #498031 - 05/09/2021 22:14:18

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Aí está. Usando framework .NET 5.0

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#498032 - 05/09/2021 22:35:22

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Citação:
:
Aí está. Usando framework .NET 5.0

kerp obrigado amigo eu achei o erro aqui eu tinha escrevido errado acredita

public class weather
        {
            public int id { get; set; }
            public string main { get; set; }
            public string decription { get; set; }
        }



#498033 - 05/09/2021 22:47:57

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Acredito. Por isso raramente faço esse tipo de coisa manualmente. Simplesmente pegue os dados e cole como classes. Seja JSON ou XML é a melhor prática.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#498034 - 05/09/2021 22:57:12

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Citação:
:
Acredito. Por isso raramente faço esse tipo de coisa manualmente. Simplesmente pegue os dados e cole como classes. Seja JSON ou XML é a melhor prática.

vlw meu amigo



#498035 - 05/09/2021 22:58:30

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Quase sempre quando faço coisa desse tipo(uma simples busca num serviço rest) eu faço um construtor na classe principal e incluo os parâmetros que precisar. Assim simplesmente instancia a classe passando os parâmetros e já traz o objeto preenchido prontinho.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por FABRICIOWEB em 05/09/2021 22:57:21