none
Json + C# Winform RRS feed

  • Pergunta

  • Olá galera,

    Estava um tempo ausente, programando em java, porém agora voltei com tudo na programação c# winform.

    Eu tenho uma dúvida, com relação a utilização do Json com C# Windows Form. Porque quer usar?

    Terei uma aplicação desktop que o usuário terá que fazer o Login e senha, porém não queria fazer esse acesso direto no banco, iria enviar uma requisição que o Json iria me retornar se o login é valido ou não. Dessa forma a aplicação fica muito mais segura.

    Porém como eu utilizo o Json no c# Winform?

    Como eu posso realizar o post e realizar a leitura do Json no meu Winform? Isso é possível?

    Estou usando o Visual Studio 2010. 

    Desde já, obrigado!


    "Um dia sem rir é um dia desperdiçado" Charles Chaplin


    quarta-feira, 15 de julho de 2015 14:11

Respostas

Todas as Respostas

  • Boa tarde George,

    Segue abaixo alguns links que talvez possam te auxiliar:

    Work with JSON in C# Winforms Application

    how to decode json data in c# windows form application?

    C# com Json

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta George Garcia quinta-feira, 16 de julho de 2015 16:44
    quarta-feira, 15 de julho de 2015 16:45
  • Eu fiz essa classe que eu utilizo (instalei via nuget o pacote "Microsoft ASP.NET Web API 2.2 Client Libraries"). Ela faz o bind do objeto json da request com o "Generic" T.

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Common
    {
        public static class RequestURIHelper<T>
        {
            public static async Task<T> GET(string url)
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    
                        HttpResponseMessage response = await client.GetAsync(url);
                        if (response.IsSuccessStatusCode)
                        {
                            return await response.Content.ReadAsAsync<T>();
                        }
    
                        return default(T);
                    }
                }
                catch
                {
                    return default(T);
                }
            }
    
            public static async Task<T> POST(string url, string parametersAsJSon)
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    
                        HttpResponseMessage response = await client.PostAsJsonAsync(url, parametersAsJSon);
                        if (response.IsSuccessStatusCode)
                        {
                            return await response.Content.ReadAsAsync<T>();
                        }
    
                        return default(T);
                    }
                }
                catch
                {
                    return default(T);
                }
            }
        }
    }



    Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985



    quarta-feira, 15 de julho de 2015 17:08