1
resposta

[Projeto] Hora da prática - API, Json

EXERCICIO 1:


import com.google.gson.Gson;

public class ConversaoObjeto {
    static void main(String[] args) {

        Gson gson = new Gson();

        Pessoa pessoa = new Pessoa("Laila", 24, "Vieiras MG");
        String jsonGerado = gson.toJson(pessoa);

        System.out.println("Resolução de objeto: " + pessoa);


    }

}


public record Pessoa(String nome, int idade, String cidade) {
}

---
EXERCICIO 2:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class ConversaoObjetoFlexivel {
    static void main(String[] args) {

        String jsonPessoa = "{\"nome\":\"Laila\",\"cidade\":\"Vieiras MG\"}";
        String pessoa1 = "{\"nome\":\"Laila\",\"idade\":\"24\"}";
        String pessoa2 = "{\"idade\":\"24\",\"cidade\":\"Vieiras MG\"}";

        Gson gson = new GsonBuilder().setLenient().create();
        Pessoa pessoa = gson.fromJson(jsonPessoa, Pessoa.class);

        System.out.println("Objeto sem idade : " + pessoa);
        System.out.println("Objeto sem cidade: " + pessoa1);
        System.out.println("Objeto sem nome: " + pessoa2);
    }

}



--

EXERCICIO 3:

import com.google.gson.Gson;

public class ConversaoJsonParaObjeto {
    static void main(String[] args) {

        String jsonLivro = "{\"titulo\":\"Minha bela tentação\",\"autor\":\"ReadLiss\",\"editora\":{\"nome\":\"UnicornBooks\",\"cidade\":\"Rio de janeiro\"}}";

        Gson gson = new Gson();
        Livro livro = gson.fromJson(jsonLivro, Livro.class);

        System.out.println("Objeto livro: " + livro);
    }
}
1 resposta

Oi, Laila! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você explorou diferentes cenários com o Gson, principalmente no uso do setLenient() para lidar com JSONs incompletos e na modelagem com record, que deixa o código mais limpo e moderno. No exercício 3, trabalhar com objetos aninhados como editora mostra um bom entendimento de estruturas mais complexas.

Uma dica interessante para o futuro é usar o metodo toJson e fromJson juntos para validar rapidamente a conversao entre objeto e JSON:


Gson gson = new Gson();

Pessoa pessoa = new Pessoa("Laila", 24, "Vieiras MG");

String json = gson.toJson(pessoa);
Pessoa novaPessoa = gson.fromJson(json, Pessoa.class);

System.out.println(novaPessoa);

Esse código converte um objeto para JSON e depois volta para objeto, ajudando a testar se a estrutura esta correta.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!