Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Desserializar e Serializar (Acredito que seja desta forma que escreve)

Olá Bom dia, como vai? Estava aqui revisando o material, e me veio aqui em mente: Entedi que desserialização, é pegar o json e transformar em um determinado objeto (utilizando uma biblioteca, que no caso foi a gson) e serializar seria pegar o que está no objeto e converter em json? PERGUNTA A) Devo desserializar para um objeto porque preciso utilizar os atributos que estão neste objeto, ou seja, os campos json precisam ser exatamente o que está no objeto? PERGUNTA B) A serialização é raro de acontecer ou é somente quando vou passar / gravar algo na json? quando utilizar? possui exemplo para ficar mais claro?

Obrigado, Mauricio G

1 resposta
solução!

Olá, Maurício.

Quanto a serializar e desserializar, é isso mesmo, mas não precisa ser em JSON, você pode fazer esse tipo de procedimento para XML, para CSV, para JSON, para HTML, para binário, ou qualquer outro formato, mas basicamente consiste em converter objetos de uma linguagem de programação em algum formato genérico (como formatos de texto ou binários).

PERGUNTA A) Sim, exatamente. Nós transformamos de texto em objeto pois podemos então trabalhar com esse objetos no nosso código, acessando atributos, acessando métodos, passando para funções, etc. Quanto aos campos JSON precisam ser exatamente o que está no objeto, normalmente as bibliotecas de serialização e desserialização tem métodos para poder, por exemplo, se o JSON tem o campo "Title", você poder mapear para o campo "título" do seu objeto, normalmente chamados de alias.

PERGUNTA B) Normalmente fazemos quando queremos salvar ou transmitir essa informação. Por exemplo, se vou passar as informações de um objeto livro por uma chamada HTTP do site de uma livraria, você serializaria o objeto para que ele possa ser transmitido pela rede, normalmente como JSON, mas não necessariamente. Outra possibilidade é quando vamos salvar os dados, seja em JSON, seja em outros formatos.