Segue a resolução dos exercícios propostos.
Record Pessoa:
public record Pessoa(String nome, int idade) {
}
Record Livro:
public record Livro(String titulo, String autor, Editora editora) {
}
Record Editora:
public record Editora (String nome, String cidade){
}
Classe DesafioHoraDaPratica (Main):
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.Scanner;
public class DesafioHoraDaPratica {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("\nExercício 1: ");
String json = """
{
"nome" : "Tia Raimunda Dondon",
"idade" : 72
}
""";
Gson gson = new Gson();
Pessoa pessoa1 = gson.fromJson(json, Pessoa.class);
System.out.println("Idade de " + pessoa1.nome() +
": " + pessoa1.idade() + " belos e bem vividos anos.");
System.out.println("\nExercício 2: ");
String json2 = """
{
"nome" : "Tio Roseno",
"sexo": "Cabra macho",
"habilidade": "Trabalho pesado"
}
""";
Gson gson2 = new GsonBuilder().setLenient().create();;
Pessoa pessoa2 = gson2.fromJson(json2, Pessoa.class);
System.out.println("Json com campos ausentes:");
System.out.println("Pessoa 2: " + pessoa2);
System.out.println("Exercício 3: ");
String json3 = """
{
"titulo": "Animal Farm",
"autor": "George Orwell",
"ano": "1945",
"editora": {"nome": "Companhia das Letras",
"cidade": "São Paulo - SP"}
}
""";
Gson gson3 = new Gson();
Livro revolucaoDosBichos = gson2.fromJson(json3, Livro.class);
System.out.println(revolucaoDosBichos);
}
}
Output:
Exercício 1:
Idade de Tia Raimunda Dondon: 72 belos e bem vividos anos.
Exercício 2:
Json com campos ausentes:
Pessoa 2: Pessoa[nome=Tio Roseno, idade=0]
Exercício 3:
Livro[titulo=Animal Farm, autor=George Orwell, editora=Editora[nome=Companhia das Letras, cidade=São Paulo - SP]]
Process finished with exit code 0