package desafio.json;
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;
}
public String getTitulo() {
return titulo;
}
public String getAutor() {
return autor;
}
public Editora getEditora() {
return editora;
}
@Override
public String toString() {
return "Livro{" +
"titulo='" + titulo + '\'' +
", autor='" + autor + '\'' +
", editora=" + editora.getNome() +
'}';
}
}
package desafio.json;
public class Editora {
private String nome;
public Editora(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
}
package desafio.json;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Principal {
public static void main(String[] args) {
String representacaoJson = """
{
"nome": "Aldeny Jr",
"cidade": "Salvador",
"endereco": "Rua do Aldeny Jr",
"email": "aldenyjr.dev@gmail.com" }
""";
Gson gson = new Gson();
Pessoa pessoa = gson.fromJson(representacaoJson, Pessoa.class);
System.out.println(pessoa);
Gson gson2 = new GsonBuilder().setLenient().create();
Pessoa pessoa2 = gson2.fromJson(representacaoJson, Pessoa.class);
System.out.println("Objeto Flex: " + pessoa);
String representacaoJsonLivro = """
{
"titulo": "Estruturas de Dados",
"autor": "Thiago Leite e Carvalho",
"editora": {
"nome": "Casa do Código"
}
}
""";
Livro livro = gson.fromJson(representacaoJsonLivro, Livro.class);
System.out.println(livro);
}
}
Resultado Esperado:
Pessoa[nome=Aldeny Jr, idade=0, cidade=Salvador]
Objeto Flex: Pessoa[nome=Aldeny Jr, idade=0, cidade=Salvador]
Livro{titulo='Estruturas de Dados', autor='Thiago Leite e Carvalho', editora=Casa do Código}