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.
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. 
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.
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!
A partir da versão 5.2 do PHP já existem as funções json_encode() e json_decode() nativamente. Muito util e mais eficiente do que bibliotecas externas. ;)
Sim sim, é bem útil, mais tem casos que queremos fazer adaptações, tem casos e casos, é questão de estratégia.
Vinicius Alegreti Meza
Olá Igor.
Parabéns pelo seu post. Acredito que este formato será mais amplamente utilizado a partir da apresentação dos conceitos que seu artigo ofereceu. Entretanto, eu tenho algumas dúvidas. Quando se utiliza outros caracteres latinos, como as letras acentuadas, como proceder? Eu procurei utilizar a função htmlentities antes de converter meus resultados com json_encode, mas ao passar para a página html, as entidades html não foram convertidas devidamente. O que foi, por exemplo, á, continuou como á . Você já passou por esta experiência? Como a resolveu? Acredito que muitos colegas gostariam de ter uma explicação para resolver problemas semelhantes. Novamente, parabéns pela explicação da notação.
Muito obrigado pelos elogios Vinicius.
Para resolver este problema, recomendo que converta os caracteres ANTES de condifica-los para notação do JSON.
Você pode usar a função utf8_encode ou a utf8_decode, ambas nativas do PHP.
Grande Abraço.
Vinicius Alegreti Meza
Igor,
Corretíssimo. A função funcionou como uma luva. Fiz o teste e me parece que o javascript interpreta adequadamente UTF8. Ou seja, ao converter para este formato, automaticamente a acentuação é levada em conta e tudo funciona como o esperado. Muito obrigado pela dica. Espero ver mais artigos sobre JSON.
Grande abraço.
Imagina Vinicios!
Eu é que agradeço a sua participação!
Fique ligado ;)
Se você assinar os feeds do meu blog você lerá este e vários outros artigos que lanço frequentemente.
Abração
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.