Serialização e desserialização de Objetos pode Facilitar Muito a Vida de Desenvolvedores
Hoje eu quero compartilhar com vocês uma dica que inovou a minha vida como Programador, que é a Serialização e Desserialização de Objetos.
Este artigo também está disponível em Podcast ⤵
Em algum momento você já deve ter sentido a necessidade de se comunicar com uma API, com um banco de dados ou com qualquer outro serviço.
Para isso você precisa gerar um Json, um Xml ou até mesmo uma Query para interagir com o seu banco.
A Serialização de objetos consiste em você criar classes contendo os conteúdos que você precisa para a comunicação ou para fazer as alterações necessárias, e transformar automaticamente este conteúdo no tipo que você deseja.
Por exemplo, a NS API possui um método onde você consulta o Status do Processamento, onde você precisa enviar o Cnpj do seu cliente e enviar o nsNRec a ser consultado e também o token. Ao invés de você montar uma string manualmente com essas informações (nome do campo, valor, etc) você pode criar uma classe para isso, onde você vai definir o nsNRec como um inteiro, o Cnpj e o token como uma string.
Após isso, você vai inicializar o seu objeto colocando valor nestes atributos, e com o comando de alguma biblioteca que você deseja utilizar você pode transformar automaticamente aquele objeto em um conteúdo Json ou Xml, o que facilita muito a nossa vida.
Imagine que você também deseja pegar um retorno da NS API onde tem o status, o motivo e algumas outras informações. É um pouco complicado se você for identificar na string, se tiver que buscar esses campos.
No entanto você pode criar uma classe para esse retorno, e então Desserializar a string de retorno da NS API para esse objeto, tornando muito mais fácil para você visualizar qual foi o código e qual foi o retorno. Por exemplo, se você deseja salvar localmente o Xml, você facilmente vai poder pegar o atributo Xml e destiná-lo para o local que você deseja salvar.
Na questão do banco de dados você pode utilizar o ORM, onde você cria classes que são como um espelho da sua tabela e pode Serializar os objetos diretamente no seu banco, ou após Select retornar um ou mais elementos daquela classe.
Este recurso da serialização já está disponível em diversas linguagens como Java, C#, Delphi entre outros, basta você fazer uma pesquisa por Serialização e Desserialização de Objetos, e o tipo que você deseja: Json, Xml ou a questão do ORM.
Exemplos
Vamos mostrar agora alguns exemplos de comunicação utilizando Serialização e Desserialização de Objetos com biblioteca Newtonsoft:

No exemplo acima fizemos uma Serialização onde os dados informados (Cnpj e nsNRec) foram convertidos em Json para a consulta.

Na imagem acima está a definição de um objeto que estamos usando como exemplo, o conteúdo entre o JsonProperty, é o nome que o campo tem quando em formato json.

Nesta imagem acima, estamos criando uma instância do objeto e Serializando.

Neste último exemplo estamos transformando um json em um objeto, fazendo o processo inverso, ou seja, de Desserializar.
Espero que este passo a passo te ajude a automatizar os teus processos e contribua para que você tenha mais qualidade e tempo em seu trabalho.
Gostou do Post? Caso você não conheça nossa API entre em contato conosco!