0
respostas

Resolução

Só não consegui fazer a segunda questão mesmo...

package desafios.desafio02;

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

}
package desafios.desafio02;

public class Livro {

    private String titulo;
    private String autor;
    private Editora editora;

    public Livro(String titulo, String autor, Editora editora) {
        this.titulo = titulo;
        this.autor = autor;
        this.editora = editora;
    }

    @Override
    public String toString() {
        return "Título = " + titulo + " | Autor = " + autor + " | Editora = " + editora.getNome();
    }
}
package desafios.desafio02;

public class Editora {

    private String nome;

    public String getNome() {
        return nome;
    }
}
/**
 * 1. Crie uma classe Pessoa usando o conceito de Record em Java, com atributos como nome, idade e cidade.
 *    Em seguida, implemente um programa que utiliza a biblioteca Gson para converter um JSON
 *    representando uma pessoa em um objeto do tipo Pessoa.
 *
 * 3. Crie uma classe Livro que contenha atributos como título, autor e um objeto representando a editora. Em seguida,
 *    implemente um programa que utiliza a biblioteca Gson para converter um JSON aninhado representando um livro
 *    em um objeto do tipo Livro.
 */

package desafios.desafio02;

import com.google.gson.Gson;

public class Principal {
    public static void main(String[] args) {
        String json = """
          {
            "nome" : "Lucas",
            "idade" : 26,
            "cidade": "Rio de Janeiro"
          }
        """;

        Gson gson = new Gson();

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

        System.out.println(pessoa);

        System.out.println("---------------------------------------");

        String jsonLivro = """
          {
            "titulo" : "O Hobbit",
            "autor" : "J. R. R. Tolkien",
            "editora" : {
                "nome" : "HarperCollins"
            }
          }
        """;

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

        System.out.println(livro);
    }
}

Beleza?