Iniciando com o JSON
Igor Escobar on Fev 27th 2008
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.

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.

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.

- 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 = new JSON();
-
// JSON - Decode
-
$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 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.
Espero ter contribuído!
[]'s
Filed in JSON, Java Script, PHP, Utilidades | 6 responses so far
Gustavo Diassantos Fev 28th 2008 at 12:01 am 1
Salve Igor, muito bom o artigo, mas minha dúvida é como eu pego as informações contidas no JSON e trasformo ele numa página HTML por exemplo, diagramada.
Já lhe disse e repito, seu blog é fantástico! Abraços!
Igor Escobar Fev 28th 2008 at 12:31 am 2
Grande, se agora você possui os dados convertidos para a sua linguagem nativa é só ler o objeto e retornar o HTML.
Se você não sabe fazer isso recomendo que dê uma estuda melhor a respeito da linguagem que você esta usando para programar pois isso é bem simples.
Jonas Ago 18th 2008 at 02:35 pm 3
Olá Igor,
vc sabe se existe uma função que escape os caracteres ‘,” ou até um \n?
[]s
Igor Escobar Ago 18th 2008 at 02:44 pm 4
Função do JavaScript que faça isso eu não conheço mais você pode criar uma que o faça.
Abraços.
Tadeu Luis Set 1st 2008 at 03:27 pm 5
Olá amigo, estou iniciando com JSON, e gostaria de saber c tem como forçar um tipo de dado dentro de um objeto JSON.
tipo
var json = {
nome: ‘nome’,
numero: 01 type:’integer’
}
Vlw.
Igor Escobar Set 1st 2008 at 04:17 pm 6
Olá Tadeu!
A Biblioteca detecta o tipo da informação, se você esta tendo problemas com isso, recomendo que comece a tipar corretamente as variáveis para não ter problemas.