Codigos Fonte, Artigos e Dicas
JSON + JQuery
O que é JSON?
JSON ou JavaScript Object Notation é um formato de texto para serialização de estrutura de dados. Ela é derivada de objetos literais do Javascript, como definido no ECMAScript Programming Language Standard, Third Edition [ECMA].
JSON pode representar quatro tipos primitivos (strings, números, valores booleans e valores nulos) e dois tipos estruturados (objetos e arrays).
- Bem isso é o que diz a especificação “RCF 4627 application/json”
Um exemplo de JSON é:
{"id_categoria":"2","tipo":"PRODUTOS","titulo":"COLECOES","descricao":"MACIO TESTE"}
Se você ainda não está familiarizado com a estrutura do JSON recomendo fortemente a dar uma passada no site oficial
Bem.. vamos esclarecer algumas coisas.
- Quando utilizar JSON?
Digamos que você tenha um código Ajax que faz uma requisição com parâmetros via POST ou GET para uma página externa, e essa página externa retorna dados dos quais você tem que tratar. Esse é um bom lugar para os dados serem retornados com JSON - O cabeçalho da resposta da página externa precisa retonar o MIME do tipo “Content-type: application/json” (não é obrigatório mas é bom seguir a regulamentação)
- O JSON é suportado por diversas linguagens, como PHP, C#, C, Lua, JavaScript é claro e diversas outras.
- JSON utiliza UTF-8 (somente e pronto. Nada de iso-8859 e etc. assim como no ajax)
Qual o objetivo desse post?
O meu objetivo aqui é mostrar como você pode recuperar dados JSON de uma fonte externa e usa-los no seu script com JQuery.
Normalmente, você tem uma linguagem dinâmica que busca dados no banco de dados ou seja lá o que for e retorna os dados em JSON.
Você com seu lindo script Ajax quer retornar esses dados e mostrar para o usuário sem precisar recarregar a página.
Para isso vamos supor que uma página PHP retorne o seguinte JSON.
{"id_categoria":"2","tipo":"PRODUTOS","titulo":"COLECOES","descricao":"MACIO TESTE"}
Aqui temos, um objeto JSON com 4 membros:
- Membro “id_categoria” com o valor “2″
- Membro “tipo” com o valor “PRODUTOS”
- Membro “titulo” com o valor “COLECOES”
- Membro “descricao” com valor “MACIO TESTE”
Não vou retratar aqui como o PHP ou o C# retorna dados JSON, mas dê uma olhada em “LINKS” no final da página, para mais informações.
Agora vamos usar o método $.getJSON() do JQuery para manipular os dados, a sintax é:
jQuery.getJSON( url, [data], [callback] )
- URL -> A url que vai ser requisitada (obrigatório)
- [data] -> dados a serem enviados via POST (opcional)
- [callback] -> Função que vai ser executada quando os dados forem carregados com sucesso (opcional)
Supondo que temos 3 INPUT do tipo TEXT e queremos colocar esses dados dentro deles, as IDs desses INPUT são respectivamente:
- id_categoriaUdt
- tipoUdt
- tituloUdt
- descricaoUdt
A página a ser requisitada se chama categoria.php:
$.getJSON("../actions/admin/categoria.php", function(json){
$('#tipoUdt').val(json.tipo);
$('#tituloUdt').val(json.titulo);
$('#descricaoUdt').val(json.descricao);
} // fim do callback
); // fim do .getJSON()
Simples assim.
pronto, você pode manipular o resultado de retorno, nesse caso “json” como um objeto javascript.
val() é também um método JQuery, utilizado nesse caso para atribuir um valor ao INPUT do nosso FORM HTML
Este foi um exemplo muito simples, apenas uma introdução a como manipular objetos JSON com JavaScript (JQuery).
Boa Sorte!
- Links
- Página Oficial do JSON -> json.org
- Documentação do $.getJSON() -> docs.jquery.com
- Usando JSONRequest -> json.org
- Função eval() do JavaScript -> w3schools.com
- Usando JSON com PHP -> php.net
- Usando JSON com C# -> msdn.microsoft.com
Ou procure no Object Browser do Visual Studio
Posts Relacionados
| Imprimir artigo | Este artigo foi escrito por Alexandre Santos em 26 26UTC novembro 26UTC 2009 às 12:19, e está arquivado em Desenvolvimento Web, JQuery. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |


há 7 meses atrás
Olá.
Legal, funcionou certinho aqui. Como faria para ao invés de alimentar um INPUT, deixar selecionada index correta de um combo.
[Reply]
há 7 meses atrás
a comboBox que você se refere seria uma tag SELECT com OPTIONS incluindo valores correto?
Se sim, primeiro tem que ter a Combo preenchida com os possíveis valores,
segundo aora você pode user a função “val()” para definir o valor a ser pré selecionado, exemplo
digamos que sua comboBox tenha a id “cmBox”
$(“#cmBox”).val(“teste”);
a linha (ou tag: SELECT) que contiver o VALUE=’teste’ vai ser pré selecionada.
[Reply]