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á 2 anos 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á 2 anos 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]
há 1 ano atrás
como ficaria o arquivo PHP neste caso?
[Reply]
há 1 ano atrás
como ficaria o arquivo PHP neste caso?
[Reply]
há 1 ano atrás
muito show esse artigo! me ajudou pacas a me esclarecer!
[Reply]
há 11 meses atrás
D+ me tirou duma fria… parabens
[Reply]
há 5 meses atrás
oi blz com migo não funcionou em um servidor externo tipo, se você acessa uma api do meu site para pegar os dados não da certo em paginas externas so em paginas internas sabe porque disso?
[Reply]
há 5 meses atrás
oi blz com migo não funcionou em um servidor externo tipo, se você acessa uma api do meu site para pegar os dados não da certo em paginas externas so em paginas internas sabe porque disso?
[Reply]
há 1 mês atrás
Vaaaaleu
[Reply]
há 1 mês atrás
Vaaaaleu
[Reply]