Iniciando com o JSON

Alguns dias atrás, recebi um e-mail de um leitor que acabou de iniciar em um novo emprego e seus supervisores lançaram a seguinte necessidade:

Na nossa empresa temos uma base de dados que ao fazer a consulta X, irá vai te retornar um JSON, ou seja, um valor que por sua notação é denominada JSON.

JSON quer dizer JavaScript Objection Notation, 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.

json-object

Ex:

var MeuBlog = {
nome:"Igor Escobar // blog",
ano:2008,
assunto:"Tecnologia",
getTitle:function(){
return ('TituloBlog:' + nome);
}
}

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

Ex:

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

Viu só? é super simples se 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, 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.

json-na-pratica

  • Primeiro o PHP recebe os dados e envia estes dados para o JSON seja ele um Array ou um Objeto.
  • Depois o JSON codifica os dados e retorna este valor (uma inofenciva string) para uma variavel 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:

Mais 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:

$JSON = new JSON();
// JSON - Encode
$dbValue = $JSON->;encode($objetoPHP); // Codifica um objeto PHP -> JSON
// JSON - Decode
$dbValue = $JSON->decode($dbObject->campoComJson); // Decodifica 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 decodifica-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 estring é possivel que você tenha problemas com caracteres especiais e na hora de exibir apareça uns caracteres como (+%…etc).

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

function urlencode(str) {
str = escape(str);
str = str.replace('+', '%2B');
str = str.replace('%20', '+');
str = str.replace('*', '%2A');
str = str.replace('/', '%2F');
str = str.replace('@', '%40');
return str;
}

function urldecode(str) {
str = str.replace(/\+/g, ' ');
str = unescape(str);
return str;
}

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, principalmente, com o objetivo deste blog que é em primeiro lugar, reunir soluções de desenvolvimento em um único lugar.

Nota: Apartir do PHP 5.2 o JSON já se encontra nativo na linguagem através dos métodos json_encode(); e json_decode();

Espero ter contribuído!
[]’s

Posts Relacionados:

  • Nenhum post relacionado!