1
resposta

[Sugestão] Sugestão do exercício 3 Gson

package desafiogson.parte1;

public class Pessoa {
    private String nome = "";
    private  int idade = 0;
    private  String cidade = "";

    public Pessoa(String nome, int idade, String cidade) {
        this.nome = nome;
        this.idade = idade;
        this.cidade = cidade;
    }


}
//=================================
package desafiogson.parte1;

public class PessoaLivro extends Pessoa {
    private String autor = "";
    private String titulo = "";

    public PessoaLivro(String nome, int idade, String cidade, String autor, String titulo) {
        super(nome, idade, cidade);
        this.autor = autor;
        this.titulo = titulo;
    }
}
//======================================
package desafiogson.parte1;

public record PessoaRecord(String nome, int idade, String cidade) {
    @Override
    public String toString() {
        return "Ola " + nome + ", a sua idade e " + idade + " anos, e  mora na cidade de " + cidade ;
    }
}
//===================

package desafiogson.parte1;

public record Livro(String autor, String titulo, PessoaRecord pessoaRecor) {
    @Override
    public String toString() {
        return  "Autor(a) = " + autor  + ", titulo = " + titulo + "." + "\nDados = " + pessoaRecor ;
    }
}
//========================================

package desafiogson.parte1;

import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.IOException;


public class PrincipalPessoa {
    public static void main(String[] args) throws IOException, InterruptedException {
        /*Atividade 1*/
        Pessoa pessoa = new Pessoa("Tony",92,"São Paulo");
        Gson rafa = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.IDENTITY.UPPER_CAMEL_CASE).create();
        String json = rafa.toJson(pessoa);
        PessoaRecord pessoa1 = rafa.fromJson( json, PessoaRecord.class);
        System.out.println(pessoa1);
        System.out.println("\n");

        
        /*Atividade 3*/
        Livro livro = new Livro("Agatha cristie","E não sobrou nenhum",pessoa1);
        Gson r = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.IDENTITY.UPPER_CAMEL_CASE).create();
        String json2 = r.toJson(livro);
        Livro pessoaLivro = r.fromJson( json2, Livro.class);
        System.out.println(pessoaLivro);


    }
}
//================resultado=======================

"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3.4\lib\idea_rt.jar=63580:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Lenovo\Desktop\AluraRafael\screenmatch\out\production\screenmatch;C:\Users\Lenovo\Downloads\gson-2.10.1.jar desafiogson.parte1.PrincipalPessoa
Ola Tony, a sua idade e 92 anos, e  mora na cidade de São Paulo


Autor(a) = Agatha cristie, titulo = E não sobrou nenhum.
Dados = Ola Tony, a sua idade e 92 anos, e  mora na cidade de São Paulo

Process finished with exit code 0



1 resposta

Oii Rafael, tudo bem?

Seu código parece bem estruturado e você demonstrou habilidade em utilizar a biblioteca Gson para serialização e desserialização de objetos JSON em Java.

Continue assim!

Um abraço.