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