Dev (Back & Front)ARTIGO

Listando valores de um jSON com jQuery

Considero ler um arquivo jSON mais fácil do que fazer a
leitura de um XML, mais objetivo ainda quando se está usando um bom Framework, como
o jQuery. Para facilitar bem o entendimento, criei um arquivo .”json”,
poderia ser qualquer extensão contato que esteja nos padrões jSON. Como sabem, o
jSON, pode ser gerando dinamicamente, como um arquivo XML, então vamos ao
exemplo:

// Estrutra JSON.<br /><br />{<br /><br />'usuarios':<br /><br />[<br /><br />{'id': 12, 'nome': 'Ted', 'telefone': '(99) 9999-9999', 'cidade': 'Salvador'},<br /><br />{'id': 13, 'nome': 'Clark', 'telefone': '(88) 8888-8888', 'cidade': 'Madrid'},<br /><br />{'id': 14, 'nome': 'Nuno', 'telefone': '(77) 7777-7777', 'cidade': 'Nova York'},<br /><br />{'id': 15, 'nome': 'Maia', 'telefone': '(66) 6666-6666', 'cidade': 'Contagem'}<br /><br />]<br /><br />} 

Estrutura criada com o ID do usuário, NOME, TELEFONE e
CIDADE, vamos agora organizar o jQuery para ler e mostrar o resultado dentro de
uma DIV qualquer.

Para deixar o meu script mais acessível externamente
utilizei o conceito de criação de objetos em JavaScript.

Criei uma classe chamada json e dentro dela o objeto resgatarValores.

No jQuery existe um método chamado $.getJSON() que facilita
o acesso via GET e retorna os valores em array.

$.getJSON('arquivo.json', function(data){

jogamos o retorno aqui

}

Criamos um laço de repetição para listar os valores que
existe na variavel de retorno atribuída “data”

for (i = 0; i < this.qtd; i++){

this.retorno += ‘ID: ‘ + data.usuarios[i].id + ‘
‘;

this.retorno += ‘Nome: ‘ + data.usuarios[i].nome + ‘ – ‘;

this.retorno += ‘Cidade: ‘ + data.usuarios[i].cidade + ‘

‘;

}

 

O código completo fica assim:

 // Classe para chamar o Json.

function json(){

var qtd;

var retorno;

// Resgatar valores.

json.prototype.resgatarValores = function(){

$(‘#resultado’).html(‘Carregando dados…’);

// Estrutura de resultado.

$.getJSON(‘arquivo.json’, function(data){

this.qtd = data.usuarios.length;

this.retorno = ”;

for (i = 0; i < this.qtd; i++){

this.retorno += ‘ID: ‘ + data.usuarios[i].id + ‘
‘;

this.retorno += ‘Nome: ‘ + data.usuarios[i].nome + ‘ – ‘;

this.retorno += ‘Cidade: ‘ + data.usuarios[i].cidade + ‘

‘;

}

$(‘#resultado’).html(this.retorno);

});

}

}

// Objeto.

var obj = new json();

obj.resgatarValores();

O retorno será imprimido na DIV “resultado”

Baixe os arquivos aqui:

Download do Arquivo

Abraços a todos.

Ted kAutor

Programador WEB com conhecimento em várias linguagens de programação. Sócio-Fundador e Desenvolvedor na AgênciaOFF, desenvolvendo o Front-End de Sites e criando interatividades com JavaScript, HTML5 (Games em JavaScript). Desenvolvo também em Objective-C (para iPhone/iPad), Ardunio (C/C++), PHP, ASP e ASP.NET (C# e VB). Programo desde 1997 e tenho uma grande experiência na área.

Ver perfil