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.
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": "Harlen",
"idade": 40,
"cidade": "Fortaleza"
}
""";
Gson gson = new Gson();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println(pessoa);
}
}
2. 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": "Harlen",
"idade": 40,
"cidade": "Fortaleza"
}
""";
Gson gson = new GsonBuilder().setLenient().create();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println(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.
import com.google.gson.Gson;
record Editora(String nome, String cidade) {
}
record Livro(String titulo, String autor, Editora editora) {
}
public class Main {
public static void main(String[] args) {
String json = "{\"titulo\":\"Aventuras do Java\",\"autor\":\"Akemi\",\"editora\":{\"nome\":\"TechBooks\",\"cidade\":\"São Paulo\"}}";
Gson gson = new Gson();
Livro livro = gson.fromJson(json, Livro.class);
System.out.println(livro);
}
}