// 1. Criar uma classe Pessoa usando Record e converter JSON em objeto Pessoa.
import com.google.gson.Gson;
public class ExemploGson {
public static void main(String[] args) {
String json = """
{
"nome": "João",
"idade": 30,
"cidade": "São Paulo"
}
""";
Gson gson = new Gson();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println(pessoa);
}
}
record Pessoa(String nome, int idade, String cidade) {}
// 2. Modificar o programa para permitir conversão flexível
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class ExemploGson {
public static void main(String[] args) {
String json = """
{
"nome": "João",
"idade": 30,
"cidade": "São Paulo",
"email": "joao@email.com"
}
""";
Gson gson = new GsonBuilder().setLenient().create();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println(pessoa);
}
}
record Pessoa(String nome, int idade, String cidade) {}
// 3. Criar uma classe Livro com um objeto aninhado representando a editora e converter JSON aninhado
import com.google.gson.Gson;
public class ExemploGson {
public static void main(String[] args) {
String json = """
{
"titulo": "Aprendendo Java",
"autor": "Carlos Silva",
"editora": {
"nome": "Editora Exemplo",
"cidade": "Rio de Janeiro"
}
}
""";
Gson gson = new Gson();
Livro livro = gson.fromJson(json, Livro.class);
System.out.println(livro);
}
}
record Livro(String titulo, String autor, Editora editora) {}
record Editora(String nome, String cidade) {}