Ir ao conteúdo
  • Cadastre-se

Java Como que desrefencia JSON no Java com Objetos dentro de Objetos?


Posts recomendados

Pessoal, estou com dificuldades para usar o java para ler valores Json usando o GSON do Google que peguei através do maven. O Gson pra quem não sabe, pega os valores Json e mapeia para classes já criadas no java, tipo Hibernate faz com banco de dados.

Como eu tenho um Json com objetos dentro de objetos, pensei em criar uma classe Root com todas outras classes dentro na ordem do Json, mas o feito miraculoso demais deu erro.

Estou tentando pegar o nome do grupo de whatsapp da Carla com esse código abaixo:

 

import com.google.gson.Gson;
public class NewClass {
    public static void main(String[] args){
        Gson js = new Gson();  
        String json="{\"taok\":true,\"resultado\":[{\"banco_id\":91870728,\n" +
"\"whatsapp\":{\"fone\":33330000,\"de\":{\"id\":1203255522,\"evangelica\":true,\"nome\":\"Carla Zambelli\",\"username\":\"carlota\"},\"grupos\":{\"id\":-666,\"sala\":\"Amigas do mito\",\"dono\":\"lobisomens2000\",\"tipo\":\"familiar\"},\"criado\":\"12/12/2018\",\"descricao\":\"Fãs do Mito\",\"fotoTamanho\":[{\"offset\":140,\"length\":61,\"type\":\"url\"}]}}]}";  
        try{
            Root dados = js.fromJson(json, Root.class);
            System.out.println("Grupo da Carla Nome: " + dados.Whatsapp.sala);
        }
        catch(Exception e){
            System.out.println("Veja o erro: "+e);
        }
    }    
}

 

 

Mas dá erro , as classes que eu criei ficaram assim:

 

public class De{
    public int id;
    public boolean evangelica;
    public String nome;
    public String username;
}

public class FotoTamanho{
    public int offset;
    public int length;
    public String type;
}

public class Grupos{
    public int id;
    public String sala;
    public String dono;
    public String tipo;
}

public class Resultado{
    public int banco_id;
    public Whatsapp whatsapp;
}

public class Root{
    public boolean taok;
    public ArrayList<Resultado> resultado;
}

public class Whatsapp{
    public int fone;
    public De de;
    public Grupos grupos;
    public String criado;
    public String descricao;
    public ArrayList<FotoTamanho> fotoTamanho;
}

 

Todas essas classes estão dentro da classe Root.

 

Já tentei outras formas mas não consigo pegar dados nem quando estão fora de objetos dentro de objetos, alguém sabe como usar o java e o Json pra pegar o nome da sala da Carla nesse exemplo?

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!