Desenvolvimento - Javascript

JSON – Uma introdução

Aprenda o que é JSON, quando usuá-lo e como usá-lo além suas vantagens e desvantagens para o XML.

por Edjan Santos



A troca de dados sempre foi uma prática (e necessidade) comum no desenvolvimento de sistemas, seja desktop ou web, os anos passaram e vários padrões/modelos surgiram, persistiram, morreram, renasceram, morreram de vez e etc..

Nos sistemas desktop o EDI sempre foi bastante utilizado, o tempo passou, a web chegou e ficou complicado manipular um arquivo de texto separado por ponto-e-vírgula de sabe-se lá quantos mbs. Se você trabalhava com quantidade de caracteres e faltasse um caractere, sua consistência toda ia por água abaixo, se trabalhava seguindo algum caractere padrão (ponto-e-vírgula, por exemplo) e esse caractere repetia em alguma string, novamente dor de cabeça, logo então surgiu o nosso conhecido XML, era muito mais simples e organizado trabalhar com uma linguagem de marcação semelhante ao HTML, a sua eficiência é tanta que o XML é altamente utilizado até hoje (de acordo com a Wikipédia o XML surgiu em 1990).

O tempo continuou a passar, as pessoas, a web e as nossas necessidades mudaram, com os novos conceitos de usabilidade, web semântica, experiência de usuário e etc. o uso de Ajax se tornou quase que uma obrigação, manipulação de dados com javascript se fez e faz muito necessária. E podemos afirmar, trabalhar com XML e javascript não é das atividades mais amigáveis. A partir dessa necessidade (não só, mas principalmente dela) surge o JSON (Javascript Object Notation).

Sua estrutura nada mais é que um Literal. Abaixo um exemplo:
{
    //-- Primeiro colocamos o nome da propriedade, 
	// e usamos dois pontos ":" para separarmos do valor da propriedade 
	nome: "Edjan", 
	sobrenome: "Santos",
    site: "http://www.labirintorium.com.br"
}
A grande vantagem do JSON ao XML ao se trabalhar com Javascript é justamente o fato de um JSON ser um objeto do javascript, sua manipulação é simples e natural.

Vamos ilustrar melhor a vantagem, consideremos o seguinte XML:
<?xml version="1.0" encoding="utf-8" ?>
<registros>
	<usuario nome="Edjan" sobrenome="Santos" site="http://www.labirintorium.com.br"></usuario>
</registros>
Vamos visualizá-lo com javascript:
function xmlLoader(xmlUrl){
	var objXML;
    try {
        objXML = new ActiveXObject("Microsoft.XMLDOM");
	} catch(ex) {}
	try {
		objXML = document.implementation.createDocument("","",null);
	} catch(e) {}
	try 
	{
        objXML.async = false;
        objXML.load(xmlUrl);
        return objXML;
    } catch(exc) {return(null);}
}

var xml = xmlLoader("http://www.labirintorium.com.br/artigos/json/dados.xml");

var msg = "";
var usuario = xml.getElementsByTagName("usuario")[0];
for(var i=0; i 
Agora vamos visualizar com javascript uma estrutura JSON:
var objJSON = {
	nome: "Edjan",
	sobrenome: "Santos",
	site: "http://www.labirintorium.com.br"
};

alert(" nome:"+objJSON.nome+"\n sobrenome: "+objJSON.sobrenome+"\n site: "+objJSON.site);
Viu como é simples? É claro que essa estrutura está bem básica, estamos trabalhando apenas com um registro tanto no XML quanto no JSON mas acredito que seja o suficiente para ilustrar a grande vantagem de se utilizar JSON principalmente com javascript.

No site JSON.org é possível encontrar várias classes para muitas linguagens, classes prontas e recomendadas para linguagens como C#, PHP, JSP, C, Flex, Python, etc., além de outras referências ao uso do JSON.

O objetivo desse artigo foi explicar de forma breve o que é o JSON, pra que ele serve e principalmente por que usá-lo com Javascript. Como afirmei acima e você pode observar no site do JSON, é possível utilizá-lo com muitas linguagens, fica a seu cargo utilizá-lo ou não. Como tudo na vida, o JSON também tem seus pontos negativos, que talvez eu aborde futuramente em outro artigo, mas por enquanto você pode ler o excelente artigo do Henry Story que já esclarece muita coisa.

Agora fica a missão de utilizar o JSON na prática, experimente em seus projetos e veja os benefícios de estruturas organizadas, padronizadas e rápidas!
Edjan Santos

Edjan Santos - Desenvolvedor Web com mais de 6 anos de experiência, trabalha com a plataforma .NET desde 2006. Atualmente cursa bacharel de Sistemas de Informação e trabalha como coordenador de desenvolvimento. Vem se especializando em gerência de projetos e arquitetura de sistemas. Sócio Fundador da Labirintorium.