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.
public record Pessoa(String nome, int idade, String cidade) {
}
import com.google.gson.Gson;
public class Principal {
public static void main(String[] args){
String json: """
{
"nome" = "Ana Maria",
"idade" = 25,
"cidade" = "Foz do Iguaçu"
}
""";
Gson gson = new Gson();
Pessoa pessoa = gson.fromJson(json,Pessoa.class);
System.out.println("Nome:" + pessoa.nome());
System.out.println("Idade:" + pessoa.idade());
System.out.println("Cidade:" + pessoa.cidade());
}
}
Modifique o programa do Exercício anterior para permitir a conversão de um JSON mesmo se alguns campos estiverem ausentes ou se houver campos adicionais não representados no objeto Pessoa. Consulte a documentação da biblioteca Gson para flexibilizar a conversão.
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Principal {
public static void main(String[] args){
String json = """
{
"nome" = "Ana Maria",
"idade" = 25,
"cidade" = "Foz do Iguaçu"
}
""";
Gson gson = new GsonBuilder()
.serializeNulls()
.create();;
Pessoa pessoa = gson.fromJson(json,Pessoa.class);
System.out.println("Nome:" + pessoa.nome());
System.out.println("Idade:" + pessoa.idade());
System.out.println("Cidade:" + pessoa.cidade());
System.out.println("Profissão:" + pessoa.profissao());
}
}
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.
import com.google.gson.Gson;
public class Principal {
public static void main(String[] args){
String json = """
{ "titulo": "Coraline",
"autor": "Neil Gaiman",
"editora": {
"nome": "Intrinseca",
"cidade": "Rio de Janeiro"
}
}
""";
Gson gson = new Gson();
Livro livro = gson.fromJson(json, Livro.class);
System.out.println("Título: " + livro.titulo());
System.out.println("Autor: " + livro.autor());
System.out.println("Editora: " + livro.editora().nome());
System.out.println("Cidade da Editora: " + livro.editora().cidade());
}
}
public record Editora(String cidade, String nome) {
}
public record Livro(String titulo, String autor, Editora editora) {
}