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!