0
respostas

Desafio: hora da prática

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