03/07/2009 11:48
JSON é uma estrutura de dados simples. Apesar de ser mais usada e difundida recentemente, esta tecnologia é antiga e faz parte do javascript puro, não necessitando de nenhum script ou plugin para trabalharmos.
É uma tecnologia muito leve, cuja execução de leitura é dezenas de vezes mais rápida do que ler um conteúdo XML. Por esse motivo, JSON é muito usado em aplicações onde existe muito fluxo de dados entre cliente/servidor (Google, Yahoo, dentre outras gingantes em TI, usam esta tecnologia para manipular seus dados).
O JSON também é muito eficaz para trabalhar com respostas AJAX, e pode substituir o XML com tranquilidade e garantir mais velocidade no retorno dos dados, além de ser mais simples e fácil para montar sua estrutura.
Exemplos de sua estrutura:
var dadosJSON = {
"aluno" : [
{nome:"Joao", provas:[{nota:8}, {nota:6}, {nota:10}, {nota:2}]},
{nome:"Maria",provas:[{nota:3}, {nota:5}, {nota:8 }, {nota:1}]},
{nome:"Pedro",provas:[{nota:7}, {nota:6}, {nota:6 }, {nota:8}]}
]
};
Veja como seria a mesma estrutura de dados em XML:
<?xml version='1.0' encoding='utf-8'?>
<aluno>
<nome>Joao</nome>
<provas>
<prova nota=8/>
<prova nota=6/>
<prova nota=10/>
<prova nota=2/>
</provas>
</aluno>
<aluno>
<nome>Maria</nome>
<provas>
<prova nota=3/>
<prova nota=5/>
<prova nota=8/>
<prova nota=1/>
</provas>
</aluno>
<aluno>
<nome>Pedro</nome>
<provas>
<prova nota=7/>
<prova nota=6/>
<prova nota=6/>
<prova nota=8/>
</provas>
</aluno>
Apesar do JSON ser desenvolvido para trabalharmos com javascript, muitas linguagens server side implementam seu conceito. Vejamos dois exemplos, PHP e JAVA:/p>
PHP
No PHP 5.2.0, a extensão JSON foi empacotada e compilada por padrão. Para fazer uso desta extensão, basta habilitá-la no arquivo de configuração do php.ini, ;extension=json.so.
Descrição
mixed json_decode ( string $json [, bool $assoc ] )
Analisa a string codificada JSON e converte-a em uma variável do PHP.
json - A string json a ser decodificada.
assoc - Quando TRUE, o object retornado será convertido em array associativo.
Exemplo:
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
Valores retornados:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
JAVA
JSONObject obj = new JSONObject();
obj.put("nome", "Maikon");
obj.put("idade", 21);
System.out.println(obj);
Saida: {nome:"Maikon", idade:21}
Podemos também mandar objetos como parâmetro.
public class Pessoa{
private String nome;
private int idade;
}
Criando o objeto:
Pessoa p = new Pessoa();
p.setNome("Maikon");
p.setIdade(21);
JSONObject obj = new JSONObject(p);
System.out.println(obj);
Saida: {nome:"Maikon", idade:21}
Postado por: Maikon Cezário
Tags: json estrutura de dados javascript
Bem-vindo ao blog do Claretiano Web Center, o núcleo de desenvolvimento web de toda Ação Educacional Claretiana
Além de mostrar todo o trabalho desenvolvido pelos webdesigners Diego Magrin e Maikon Cezário, este blog tem como objetivo transmitir muito conhecimento.
© Copyright 2008Tableless XHTML RSS