Neste artigo vou mostrar uma aplicação prática da utilização de Reflection : Serializando objetos no formato JSON. |
Recursos usados:
Visual Studio Community 2015 (update 3)
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Criando a solução no VS 2015 Community
Abra o Visual Studio Community 2015 e clique em New Project;
Selecione Visual C# -> Console Application
Informe o nome Reflection_Serializacao e clique no botão OK.
Criando as classes
Vamos criar as classes Cliente, Produto e Pedido via menu Project Add Class.
A seguir temos o código de cada classe :
1- Cliente
public class Cliente
{
public int Id { get; set; }
public string Nome { get; set; }
public string Endereco { get; set; }
}
|
2- Produto
public class Produto
{
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
public int Estoque { get; set; }
public DateTime Entrada { get; set; }
public DateTime? Saida { get; set; }
public DateTime Validade { get; set; }
public bool Ativo { get; set; }
}
|
3- Pedido
public class Pedido
{
public int Id { get; set; }
public int ClienteId { get; set; }
public DateTime DataPedido { get; set; }
}
|
Criando o método para serializar objetos para o formato JSON
Agora vamos fazer uma implementação de um método chamado SerializarObjetoParaJson que irá receber um objeto e vai serializar este objeto para o formato JSON.
Esse método poderia ter sido incluído em uma classe com métodos definidos para desserializar mas para ficar mais claro vou implementar o método no arquivo Program.cs:
public static string SerializarObjetoParaJson(object obj) { var valorSerializado = ""; //Vamos obter agora todas as propriedades do tipo //agora verificamos o tipo de cada propriedade valorSerializado = valorSerializado.Substring(1, valorSerializado.Length - 2); //retorna o objeto serializado |
Criamos assim um método genérico para realizar a serialização de objeto para JSON.
Testando a serialização
Agora vamos mostrar que o código esta funcional implementando o código que cria instâncias das classes e usa a serialização com Reflection.
Abra o arquivo Program e inclua o código a seguir no método Main() :
static void Main(string[] args) { var cliente = new Cliente() { Id = 10, Nome = "Macoratti", Endereco = "Rua Projetada, 100" }; var pedido = new Pedido() var produto = new Produto var resultado1 = SerializarObjetoParaJson(cliente); Console.WriteLine(resultado1); |
Executando o projeto teremos o seguinte resultado :
Podemos verificar se o resultado possui o formato JSON correto realizando a validação no site : http://jsonlint.com/
Basta copiar o resultado gerado, colar no site e clicar no botão Validate JSON para obter o resultado:
Pegue o projeto completo aqui: Reflection_Serializacao.zip
Ninguém pode servir a dois senhores;
porque ou há de odiar um e amar o outro, ou se dedicará a um e desprezará o
outro. Não podeis servir a Deus e a Mamom.
Mateus 6:24
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net