JSON (JavaScript Object Notation)

Muitas vezes nos deparamos com a necessidade de intercambiar dados entre páginas, servidores ou até mesmo domiínios. A maioria de nós, inclusive eu a não muito tempo atrás, acredita que a única maneira de fazer esse intercambio é através de XML. Mas não é bem assim. Existe o JSON.

O JSON é um formato leve para intercambio de dados.

Mas qual a vantagem em relação ao XML?

Eu vejo três.

1ª – É bem mais leve de ser carregado do que um arquivo XML.

2ª – É mais fácil de se trabalhar

3ª – É Cross Browser*

*Quando usamos XML nos deparamos com um problemão para parsear as informações, as regras de segurança dos browsers. No Firefox, por exemplo, não é possível parsear as informações provenientes de um XML que esteja em um servidor diferente da aplicação, ou seja, se sua aplicação estiver hospedada em www.aqui.com.br, o Firefox só permitirá que você parseie um XML se ele estiver em, por exempo, www.aqui.com.com/esse.xml, agora se estiver, por exemplo em www.outro.com.br/esse.xml, as regras de segurança bloquearão sua aplicação. (Não necessáriamente isso acontece nas linguagens Backend)

Um vez explicado as vantagens do JSON, vamos ao formato.

{"notas" : [
   {"nome":"João", "nota1":8, "nota2":6, "nota3":10 },
   {"nome":"Maria", "nota1":5, "nota2":9, "nota3":8 },
   {"nome":"Pedro", "nota1":2, "nota2":7, "nota3":5 }
]};

No exemplo acima, temos um conjunto de dados chamado “notas” que tem as informações de três alunos, commo nome e notas.

Você pode ir hieranquizando as informaçõe da forma que melhor lhes convier.

Você encontra o JSON na maioria das APIs abertas da Internet, como as do Google, Facebook, Flickr, Twitter, etc.

Mas tudo isso não quer dizer que o XML seja inútil ou não deva ser usado. Cada caso e um caso. Existem casos web a for que se utilizam dos dois formato, outros disponibilizam os dois formatos (Twitter por exemplo)…

Mais informações em http://www.json.org/json-pt.html

  1. Verificar se um objeto Json está vazio
  2. Trabalhando com querystring e Javascript
  3. Função Trim em Javascript
  4. Desabilitar o Enter em um form com Javascript
  5. Querystring