Front End

25 mar, 2008

Iniciando com o JSON – JavaScript Objection Notation

Publicidade

JSON quer dizer JavaScript Objection Notation, e nada mais é do que um conjunto de chaves e valores, que podem ser interpretadas por qualquer linguagem.

Toda essa estrutura, foi criada apartir do padrão ECMA-262, que por sua vez possui convenções muito semelhante às linguagens como C, C#, C++, Java, JavaScript, Perl, Python e várias outras. Com estas características, o JSON se torna o formato ideal para troca de informações independente da linguagem.

Um estrutura JSON pode ser identificada por duas estruturas de dados:

Uma coleção de pares nome/valor. Em várias linguagens, isto é caracterizado como um object, record, struct, dicionário, hash table, keyed list, ou arrays associativas.

Ex:


1.	var MeuBlog = {
2.	nome:"Igor Escobar // blog",
3.	ano:2008,
4.	assunto:"Tecnologia",
5.	getTitle:function(){
6.	return ('TituloBlog:' + nome);
7.	}
8.	} 

Uma lista ordenada de valores. Na maioria das linguagens, isto é caracterizado como uma array, vetor, lista ou sequência.

Ex:


1.	["Igor Escobar // Blog", 2008, 0] 

Viu só? É muito simples trabalhar com o JSON. Não se preocupe ao aplicar estas regras na prática. A teoria é valida para você entender como o JSON gera estes dados, e no seu caso (e de muitos), você precisa decodificar um Array ou um Objecto JSON para a sua linguagem nativa.

Vou utilizar a linguagem PHP, como exemplo, para você entender como funciona e aonde entra o JSON nesta história toda.

  • Inicialmente o PHP recebe os dados e envia-os para o JSON, seja ele um Array ou um Objeto.
  • Logo depois o JSON codifica os dados e retorna este valor (uma inofenciva string) para uma variável PHP, que por sua vez é responsável por enviar esta váriavel para o banco com os dados codificados.

JSON na Prática

Estou disponibilizando aqui o JSON em:

Mas caso você precise da implementação JSON em outras linguagens, basta ir até o site do projeto.

Na prática você só vai utilizar duas funções do JSON:


1.	$JSON = new JSON();
2.	// JSON - Encode
3.	$dbValue = $JSON->encode($objetoPHP); // Codifica um objeto PHP -> JSON 

1.	$JSON = new JSON();
2.	// JSON - Decode
3.	$dbValue = $JSON->decode($dbObject->campoComJson); // Codifica um objeto JSON -> PHP Object 

E é exatamente isso que, no caso do nosso “amigo do e-mail”, precisa fazer. Você precisa receber este valor na estrutura de dados JSON e decodificá-lo para que sua linguagem nativa o entenda e interprete.

Possível problema

Se você estiver utilizando JSON -> JavaScript e este array/objeto JSON retornar uma string, é possivel que você tenha problemas com caracteres especiais e, na hora de exibir, apareça alguns caracteres como (+%…etc).

Para corrigir este problema, eu implemento em minhas funções javascript a seguinte solução:


1.	function urlencode(str) {
2.	str = escape(str);
3.	str = str.replace('+', '%2B');
4.	str = str.replace('%20', '+');
5.	str = str.replace('*', '%2A');
6.	str = str.replace('/', '%2F');
7.	str = str.replace('@', '%40');
8.	return str;
9.	}
10.	 
11.	function urldecode(str) {
12.	str = str.replace('+', ' ');
13.	str = unescape(str);
14.	return str;
15.	} 

E é isso caro “amigo do e-mail”. Conte-nos depois como foi a sua experiência iniciando com o uso do JSON e espero que este ajude todas as outras pessoas que forem iniciar com o mesmo.

Vale lembrar, eu só escrevi este texto por que o nosso amigo aparentemente precisava MUITO, pela iniciação no novo trabalho e claro o seu problema com certeza bate com o de muitas outras pessoas.

Espero ter contribuído! Abraços!