Abaixo minha resolução de exercícios, como vi na opinião a ideia de que seria possível colocar o record antes da main, fiz o mesmo
1/2 -
package CursoAPI.Exercicios.Aula2.Exercicio1_2;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
record Pessoa(String nome, int idade, String cidade) {}
public class MainAPI2 {
public static void main(String[] args) {
String json = "{\"nome\":\"João\"," +
"\"idade\":25," +
"\"cidade\":\"São Paulo\"}";
// Exercício 1
/*Gson gson = new Gson();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);*/
// Exercício 2
Gson gson = new GsonBuilder()
.setLenient()
.create();
Pessoa pessoa = gson.fromJson(json, Pessoa.class);
System.out.println(pessoa);
}
}
3 -
package CursoAPI.Exercicios.Aula2.Exercicio3;
import com.google.gson.Gson;
record Livro(String titulo, String autor) {}
record Editora(String nome, String cidade) {}
public class MainAPI2_3 {
public static void main(String[] args) {
String jsonLivro = "{\"titulo\":\"O Senhor dos Anéis\",\"autor\":\"J.R.R. Tolkien\", " +
"\"editora\":{\"nome\":\"HarperCollins\",\"cidade\":\"Londres\"}}";
Gson gson = new Gson();
Livro livro = gson.fromJson(jsonLivro, Livro.class);
System.out.println(livro);
}
}