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?