1
resposta

[Prática] Desafio: hora da prática

  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.
package Modulos;

public record Persona(String nombre, int edad, String ciudad) {
}
 System.out.println("Ejercicios 1");

        String jsonPersona = "{\"nombre\":\"Ana\",\"edad\":20, \"ciudad\": \"Sao Paulo\"}";
        Gson gson = new Gson();
        Persona persona = gson.fromJson(jsonPersona, Persona.class);
        System.out.println("Objeto Persona: " + persona);
  1. 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 Modulos;

public record Persona(String nombre, int edad, String ciudad) {
}
  System.out.println("Ejercicios 1 - 2");

        String jsonPersona = "{\"nombre\":\"Ana\",\"edad\":20, \"ciudad\": \"Sao Paulo\"}";
        Gson gson = new GsonBuilder().serializeNulls().create();
        Persona persona = gson.fromJson(jsonPersona, Persona.class);
        System.out.println("Objeto Persona: " + persona);
  1. 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 Modulos;

public record Libro(String titulo, String autor, Editora editora) {
}
package Modulos;

public record Editora(String nombre, String ciudad) {
}
 System.out.println("\nEjercicio 3");
        String jsonLibro = "{\"titulo\": \"Harry Potter y la piedra filosofal\", \"autor\":\"J.K Rowling\", \"editora\":{\"nombre\":\"Imprenta123\", \"ciudad\":\"Rio de Janeiro\"}}";

        //String jsonLibro = "{\"titulo\":\"Aventuras do Java\",\"autor\":\"Akemi\",\"editora\":{\"nombre\":\"TechBooks\",\"ciudad\":\"São Paulo\"}}";

        Gson gson1 = new Gson();
        Libro libro = gson1.fromJson(jsonLibro, Libro.class);
        System.out.println("Objeto Libro: " + libro);
1 resposta

Oi, Ana! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Muito bom seu uso dos records em Java junto com a biblioteca Gson para lidar com JSON. Gostei especialmente do tratamento que você fez usando GsonBuilder() para flexibilizar a conversão de JSON.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!