import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
// Record Pessoa com campos obrigatórios
public record Pessoa(String nome, Integer idade, String cidade) {}
public class ConversaoJsonParaObjeto {
public static void main(String[] args) {
// JSON com campos extras e campo faltando (cidade ausente)
String jsonPessoa = """
{
"nome": "João",
"idade": 30,
"endereco": "Rua A, 123",
"telefone": "1234-5678"
}
""";
Gson gson = new GsonBuilder().setLenient().create();
Pessoa pessoa = gson.fromJson(jsonPessoa, Pessoa.class);
System.out.println("Objeto Pessoa: " + pessoa);
}
}
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
// Record para a editora
public record Editora(String nome, String cidade) {}
// Record para o livro com objeto Editora
public record Livro(String titulo, String autor, Editora editora) {}
public class ConversaoLivroJson {
public static void main(String[] args) {
// JSON aninhado representando um Livro com uma Editora
String jsonLivro = """
{
"titulo": "Aprendendo Java",
"autor": "João Silva",
"editora": {
"nome": "Editora ABC",
"cidade": "São Paulo"
},
"anoPublicacao": 2024
}
""";
Gson gson = new GsonBuilder().setLenient().create();
Livro livro = gson.fromJson(jsonLivro, Livro.class);
System.out.println("Objeto Livro: " + livro);
}
}