Publicado em: 25/05/2007  |  Ajax  |  Visualizações: 6.461  |  0 Comentário(s)

Trabalhando com JSON

A JSON nada mais é do que uma maneira de representar os objetos em JavaScript,ou seja, JSON é JavaScript puro. Para trabalhar com esse formato não é necessário usar DOM ou qualquer Framwork ou Kit específico, embora muitos dos frameworks de hoje em dia dêem algum tipo de suporte à JSON.

  JSON se assemelha muito com as matrizes do JavaScript, mas pode armazenar os mesmos dados que os documentos XML.
Veja um breve exemplo:

dados retornados,
{"notas" : [
   {"nome":"João", "nota1":8, "nota2":6, "nota3":10 },
   {"nome":"Maria", "nota1":5, "nota2":9, "nota3":8 },
   {"nome":"Pedro", "nota1":2, "nota2":7, "nota3":5 }
]};

código da página,


<html>
<head>
<script language="javascript">
var request = null;
try {
  request = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      request = null;
    }
  }
}

if (request == null)
  alert("Não foi possível criar o objeto !");


function obterDados() {
  var url = "alunos.php";
  url = url + "?cache=" + new Date().getTime();//para evitar problemas com o cache do navegador
  request.open("GET", url, true);
  request.onreadystatechange = exibe;//chame a função sem os parênteses
  request.send(null);
}


function exibe(){
if (request.readyState == 4) {//verifica o estado de prontidão
    
if (request.status == 200) {//verifica o status da requisição

//recupera os dados e os converte em um objeto
var jsonData = eval('(' + request.responseText + ')');
//o navegador trata a JSON com texto, portanto utilize o responseText
//trabalhando com os dados
var aluno1 = jsonData.notas[0].nome;//recupera o nome do primeiro aluno
var aluno2 = jsonData.notas[1].nome;//recupera o nome do segundo aluno
var aluno3 = jsonData.notas[2].nome;//recupera o nome do terceiro aluno
//exibe as notas
alert("Aluno : " + aluno1+"\nNota1 : "+jsonData.notas[0].nota1+"\nNota2 : "+jsonData.notas[0].nota2+"\nNota3 : "+jsonData.notas[0].nota3);
alert("Aluno : " + aluno2+"\nNota1 : "+jsonData.notas[1].nota1+"\nNota2 : "+jsonData.notas[1].nota2+"\nNota3 : "+jsonData.notas[1].nota3);
alert("Aluno : " + aluno3+"\nNota1 : "+jsonData.notas[2].nota1+"\nNota2 : "+jsonData.notas[2].nota2+"\nNota3 : "+jsonData.notas[2].nota3);
}
}
}
</script>
</head>
<body>
<script language="javascript">
obterDados();//chama a função
</script>
</body>
</html>



  O interessante da JSON é que ela é apenas javascript, portanto, o seu código JavaScript poderá utiliza-lá facilmente.

  A má notícia é que JSON é JavaScript, linguagens como PHP, PERL e Asp não consiguirão entendê-la. Provalvelmente você precisará de alguma biblioteca para exibir a JSON em seus scripts de servidor.

  Para fazer o download das bibliotecas mais comuns de JSON, acesse:www.json.org

Veremos agora um exemplo de como gerar uma JSON resposta no PHP


<?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?>

<?php
require("JSON.php");  //importando a biblioteca

$json = new Services_JSON();//criando o objeto para manipular a JSON

$aluno1 = array('nome'=> 'Ana',
              'nota1'=> "8",
              'nota2'=> "6" ,
              'nota3'=> "2");
$aluno2 = array('nome'=> 'Maria',
              'nota1'=> "5",
              'nota2'=> "9" ,
              'nota3'=> "8");
$aluno3 = array('nome'=> 'Pedro',
              'nota1'=> "2",
              'nota2'=> "7" ,
              'nota3'=> "5");
$notas = array('notas' => array($aluno1, $aluno2, $aluno3));

$output = $json->encode($notas);
echo($output);
?>

   Como podemos observar, primeiro temos de criar um vetor para cada aluno, em seguida deve-se criar um outro vetor para armazenar os vetores de alunos, formando uma matriz.
   Já foi dito anteriormente que matrizes são os objetos que mais se assemelham à JSON, por isso a grande maioria de classes para a JSON, pedirá como parâmetro de entrada uma matriz;
   Este foi apenas um exemplo simples simples para a utilização da JSON.Em breve eu postarei mais exmplos e aplicações mais úteis para a JSON
   Até a Proxima.
Links patrocinados
Últimos artigos do editor

ajax.gif Resolvendo o problema do .
Muitas das vezes quando para.
ajax.gif Exibindo Hints com AJAX
É comum ver em aplicações De.
ajax.gif Preenchendo uma ComboBox .
Munidos de nossos conhecimen.
5325e1974ce1b59ade2a42b2d451d3df.jpg Caminhando pelo DOM - Par.
Bem amigos, peço desculpas a.
5325e1974ce1b59ade2a42b2d451d3df.jpg Caminhando pelo DOM - Par.
Chegamos a parte final de no.
5325e1974ce1b59ade2a42b2d451d3df.jpg Caminhando pelo DOM - Par.
Cuntinuamos a nossa cmainha .
Opinião do leitor:
0 Comentário(s)
Acesso restrito
Destaques
Desabilitando Processos no Windows Desabilitando Processos no Windows
Veja como desabilitar alguns processos do windows
Layouts Free Layouts Free
Confira a nossa coletânea de layouts prontos para uso. Diversas categorias para você escolher.
Você controla seu tempo em atividades? Você controla seu tempo em atividades?
Nos tempos de hoje sempre há necessidade de produtividade em níveis elevados
Autor
Artigos Relacionados
Novos Artigos
Notícias Relacionados

© 2005 - 2008 - Oficina da Net - v 3.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.