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.
package br.com.exercicio.modelo;
public record Pessoa(String nome, int idade, String cidade) {
}
package br.com.exercicio.principal;
import br.com.exercicio.modelo.Pessoa;
import com.google.gson.Gson;
public class Principal {
public static void main(String[] args) {
String json = "{\"nome\":\"Fulana\",\"idade\":24,\"cidade\":\"São Paulo\"}";
System.out.println(json);
Gson gson = new Gson();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println("Pessoa: " + pessoa);
}
}
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.
package br.com.exercicio.principal;
import br.com.exercicio.modelo.Pessoa;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Principal {
public static void main(String[] args) {
String json = "{\"nome\":\"Fulana\",\"cidade\":\"São Paulo\"}";
System.out.println(json);
Gson gson = new GsonBuilder().setLenient().create();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println("Pessoa: " + pessoa);
}
}
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.
package br.com.exercicio.modelo;
public record Livro(String titulo, String autor, Editora editora) {
}
package br.com.exercicio.modelo;
public record Editora(String nome, String cidade) {
}
package br.com.exercicio.principal;
import br.com.exercicio.modelo.Livro;
import com.google.gson.Gson;
public class Principal {
public static void main(String[] args) {
String jsonLivro = "{\"titulo\":\"O Morro dos Ventos Uivantes\",\"autor\":\"Emily Brontë\",\"editora\":{\"nome\":\"Ciranda Cultural\",\"cidade\":\"São Paulo\"}}";
Gson gson = new Gson();
Livro livro = gson.fromJson(jsonLivro, Livro.class);
System.out.println("Livro: " + livro);
}
}