Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DiegoRiba

Json com rótulo dinâmico

Recommended Posts

Eae pessoal tudo bem?

 

Então, estou com uma bucha aí para resolver.

Tenho um sistema de imobiliária que preciso integrar com um outro sistema de gestão de imobiliárias.

esta integração, me retorna um .JSON.

como este abaixo:

{ "1": { "Codigo": "1", "Descricao": "Sobrado amplo ...", "Cidade": "São Paulo", "Bairro": "...", "ValorVenda": "980000", "Vagas": "4", "FotoDestaque": "fotos/i_9115_1_3a3bf.jpg" },

 "28": { "Codigo": "28", "Descricao": "APTO. LAUZANE, BONITO.\n...", "Cidade": "São Paulo", "Bairro": "...", "ValorVenda": "320000", "Vagas": "1", "FotoDestaque": "i_9115_28_981a4.jpg" },

...

O problema é:

Como vocês podem ver, o rótulo é um código. Que na verdade é o código do imóvel no sistema deles.

Até este momento eu não tenho como saber qual o código do imóvel. Sendo assim, eu não estou conseguindo recuperar os dados via programação pois estes códigos serão sempre diferentes.

 

Alguém tem uma solução para este problema?

Obrigado pessoal.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é o código do imóvel.

Porém eu não sei qual é esse código antes de fazer essa requisição.

Por isso não consigo puxar o Json pelo rótulo.

 

 

Atualizando: consigo baixar o arquivo para o site, e sava-lo.

Consigo recuperar depois via Jquery.

 

Com este exemplo vão conseguir entender melhor.

 

Tem rótulos no Json que começam com numeros como

 

"1":{"a":"a"}

"2":{"b":"b"}

"3":{"c":"c"}

E tem alguns no final que tem letras como o

"Total":"150"

 

Se eu utilizar o $.getJSON

Consigo recuperar o total assim

	$.getJSON("a.json", function(data){			$(data).each(function(index, element) {            alert(this.total);        });		})

Porem, se eu tento recuperar os outros números como o 1 por exemplo assim:

	$.getJSON("a.json", function(data){			$(data).each(function(index, element) {            alert(this.1);        });		})

Da erro de número inesperado.

E realmente ele não encontra por causa do número.

alguém sabe como contornar isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui resolver este problema com o pessoal que fornece o serviço.

Eles mudaram a API deles e me fornecem agora o campo com os nomes item1, item2, etc...

 

Porém tenho outro problema agora.

O código me retorna com acentuação normal, mas quando eu leio via
AJAX me retorna "interrogações" no site como se ele não entendesse o código, e no JSON está normal.

 

Alguém sabe como posso resolver isto?

Pesquisei bastante a respeito e nenhuma das soluções que encontrei não resolveram meu problema.

 

Meu código atual é:

$(function(){

	$.ajax({url:"js/vista_soft.json",
	type:"GET",
	contentType: 'application/json',
	dataType:"json",
	success: function(data){	
		var x = 0;
		var limitador = 0;

		$(data).each(function(){
		limitador = data.total;
		nomeItem = "item" + x;
            var itemAtual = $(this).attr(nomeItem);

		var txt = "<tr><td>"+itemAtual.Endereco +" "+itemAtual.Numero+" "+" "+itemAtual.Complemento+" - "+itemAtual.Bairro+" - "+itemAtual.Cidade+"</td><td>R$ "+valor+"</td><td><img src='"+itemAtual.FotoDestaque+"' width='60'></td></tr>";
	
		$("#tblImportVista >tbody").append(txt);
		
        });
	
	}}); //Fim do 1º ajax
	

});


Se eu der um alert, ele me retorna errado já, mas no Json está perfeito. Olhem:

{
  "item0": {
    "Codigo": "1",
    "Cidade": "São Paulo",
    "Bairro": "",
    "Endereco": "",
    "Numero": "",
    "Complemento": "",
    "CEP": "",
    "ValorVenda": "980000",
    "ValorLocacao": "0",
    "AreaTotal": "250",
    "Dormitorios": "3",
    "Suites": "3",
    "Vagas": "4",
    "DescricaoWeb": "",
    "UF": "SP",
    "Chave": "",
    "Observacoes": "",
    "FotoDestaque": ""
  },

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.