2
respostas

Desafio - Pessoas

Pessoa.class

    private String nome;
    private int idade;
    private String cidade;

    public Pessoas(PessoasRecord pessoasRecord){
        this.nome=pessoasRecord.name();
        this.idade=Integer.valueOf(pessoasRecord.yearsOld());
        this.cidade= pessoasRecord.city();;
    }

PessoasRecord

public record PessoasRecord(String name, String yearsOld, String city) {
}

Main

String json="{\"Name\":\"joão\",\"YearsOld\":\"25\",\"City\":\"porto alegre\",\"Country\":\"Rio grande do sul\"}";
        System.out.println(json);
        Gson gson= new GsonBuilder().setFieldNamingPolicy(
                FieldNamingPolicy.UPPER_CAMEL_CASE).create();
        PessoasRecord pessoasRecord=gson.fromJson(json, PessoasRecord.class);
        Pessoas pessoas=new Pessoas(pessoasRecord);
        System.out.println(pessoasRecord);

        System.out.println(pessoasRecord);
2 respostas

Oi, Jordan! Como vai?

Agradeço por compartilhar.

Gostei da forma como você estruturou a classe Pessoas recebendo os dados de um record. Isso mostra atenção em separar bem a responsabilidade de cada parte do código.

Uma dica interessante para o futuro é usar o método toUpperCase() em strings, que pode ajudar na padronização de nomes.


let cidade = "porto alegre";
console.log(cidade.toUpperCase());

Esse código transforma a palavra porto alegre em maiúsculas.

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

o método uppercase ja esta incluso no construtor do Gson, padronizando ja independente da quantidade de campos