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.

JSON Objeto

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.

JSON Array

Ex:

  1. ["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 Prática

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

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

  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(/\+/g, ' ');
  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, 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

6 Responses to “Iniciando com o JSON”

  1. 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!

  2. 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.

  3. 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

  4. 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.

  5. 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.

  6. 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.

Trackback URI | Comments RSS

Leave a Reply