1
resposta

da pra fzr dessa forma?

Boa , quando fui realizar transformação do Json para Object me deparei com uma diferença que me bugou um pouco, pois no Json de filmes e séries o array de Episódios das temporadas tinham uma referencia(Episodies) então apenas usando o JsonAlias ficava simples de conseguir manipular, no entanto já nesse Json de modelos não temos "referência", logo fiquei perdido , mas ai pensei em modificar o Json criando uma StringBuilder e adicionando antes de todo conteúdo a "referência" marcas. Ai é só passar no JsonAlias a "referência" marcas da pra fazer dessa forma? mesmo não sendo a mais eficiente?

1 resposta

Olá André, como vai? Espero que esteja bem!

Entendo que sua dúvida esteja relacionada à manipulação de JSONs que não possuem uma "referência" explícita, como no caso dos episódios que tinham a referência "Episodies". Você sugeriu a ideia de modificar o JSON criando uma StringBuilder e adicionando uma "referência" antes de todo conteúdo. Embora isso possa funcionar em alguns casos, não é a abordagem mais eficiente e pode levar a problemas de desempenho se o JSON for muito grande.

No contexto da aula que você está estudando, o ideal é usar a biblioteca Jackson, que é uma poderosa biblioteca Java para serializar ou mapear objetos Java para JSON e vice-versa. Esta biblioteca pode ser usada para converter objetos Java para JSON e JSON para objetos Java.

Vamos a um exemplo prático, considerando o contexto da aula:

public class ConverteDados implements IConverteDados {
    private ObjectMapper mapper = new ObjectMapper();
    
    // Código omitido
    
    @Override
    public <T> List<T> obterLista(String json, Class<T> classe) {
        CollectionType lista = mapper.getTypeFactory()
            .constructCollectionType(List.class, classe);
        
        try {
            return mapper.readValue(json, lista);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
    }
}

Neste exemplo, a classe ConverteDados implementa uma interface chamada IConverteDados. Esta classe tem um método chamado obterLista(), que recebe uma string JSON e uma classe como parâmetros. O método usa a biblioteca Jackson para converter a string JSON em uma lista de objetos da classe fornecida.

Então, em vez de manipular manualmente o JSON, você pode usar a biblioteca Jackson para converter o JSON em uma lista de objetos Java. Isso torna o código mais limpo, mais eficiente e mais fácil de manter.

Espero ter ajudado e bons estudos!