Conversão de JSON para Objeto

2 respostas
Eskerlucas1

Pessoal, estou criando um client para consumir serviços de CEP. Para ter certeza que meu usuário terá a informação quando solicitada foi setado um timeout. Caso o primeiro WS não responda em determinados segundos, minha aplicação tenta consumir um segundo serviço.

Estou tendo problema ao converter esse JSON em um Objeto Java, pois uma hora eu posso receber o JSON do primeiro WS, e outra hora posso receber o JSON do segundo WS. O segundo WS tem alguns campos a mais e nomenclatura diferente nos fields.

Formatdo dos dois JSONS:

JSON do primeiro WS:
{"bairro": "Setor Habitacional Vicente Pires", "cidade": "Bras\u00edlia", "cep": "72007120", "logradouro": "Rua 8 Ch\u00e1cara 331", "estado": "DF"}

JSON do segundo WS:
{ "cep": "72007-120", "logradouro": "Rua 8 Chácara 331", "complemento": "", "bairro": "Setor Habitacional Vicente Pires", "localidade": "Brasília", "uf": "DF", "ibge": "5300108", "gia": "" }

No primeiro JSON eu tenho cidade, já no segundo JSON eu tenho localidade, mas no fim, são a mesma coisa: Brasília. Eu não estou conseguindo mapear isso.

Alguém tem alguma luz?

2 Respostas

guivirtuoso

Uma saída (não tao elegante) seria ter dois objetos refletindo cada um o retorno de um WS.

Depois tu avalia qual que acabou fornecendo os dados, e alimenta um terceiro Objeto.
Esse terceiro Objeto que seria passado às demais rotinas…

Só uma idéia…

lucciano01

Talvez com herança? Sei lá tipo classe Endereco, EnderecoSimples, EnderecoCompleto e ao preencher os objetos vc poderia verificar as propriedades através do método equals da classe. Só uma ideia tb.

Criado 7 de janeiro de 2016
Ultima resposta 7 de jan. de 2016
Respostas 2
Participantes 3