sábado, 14 de maio de 2011

O que é JSON?


Que estamos evoluindo mais rápido que a velocidade dos carros da F1 todo mundo sabe, mas e como acompanhar? Será que tudo que aparece de novo é realmente importante aprender?
A resposta para isso é simples: 'DEPENDE'...
Depende?
Sim, depende do seu segmento...

Mas como nesse caso eu abordo desenvolvimento de aplicações para a WEB então eu ja deixo claro o segmento do JSON... (DESENVOLVIMENTO DE SOFTWARE)...



Mas afinal o que significa JSON?

JSON é um acrônimo para "JavaScript Object Notation", é um formato leve para intercâmbio de dados computacionais. JSON é um subconjunto da notação de objeto de JavaScript, mas seu uso não requer Javascript exclusivamente.

A simplicidade de JSON tem resultado em seu uso difundido, especialmente como uma alternativa para XML em AJAX. Uma das vantagens reivindicadas de JSON sobre XML como um formato para intercâmbio de dados neste contexto, é o fato de ser muito mais fácil escrever um analisador JSON.
Em JavaScript mesmo, JSON pode ser analisado trivialmente usando a função eval(). Isto foi importante para a aceitação de JSON dentro da comunidade AJAX devido a presença deste recurso de JavaScript em todos os navegadores web atuais.

Na prática, os argumentos a respeito da facilidade de desenvolvimento e desempenho do analisador são raramente relevados devido aos interesses de segurança no uso de eval() e a crescente integração de processamento XML nos navegadores web modernos. Por esta razão JSON é tipicamente usado em ambientes onde o tamanho do fluxo de dados entre o cliente e o servidor é de supra importância (daí seu uso por Google, Yahoo, etc., os quais servem milhões de usuários), onde a fonte dos dados pode ser explicitamente confiável, e onde a perda dos recursos de processamento XSLT no lado cliente para manipulação de dados ou geração da interface, não é uma consideração.

Enquanto JSON é frequentemente posicionado "em confronto" com XML, não é incomum ver tanto JSON como XML sendo usados na mesma aplicação. Por exemplo, uma aplicação no lado cliente a qual integra dados do Google Maps com dados atmosféricos através de SOAP, requer suporte para ambos formatos de dados.

Existe um crescente suporte para JSON através do uso de pequenos pacotes de terceiros. A lista de linguagens suportadas incluem ActionScript, C/C++, C#, Delphi, ColdFusion, Java, JavaScript, Objective CAML, Perl, PHP, ASP 3.0, Python, Rebol, Ruby, Lua e Harbour.

Um exemplo de objeto JSON:


{ "Aluno" : [         
 { "nome": "João", "nota": [ 8, 9, 7 ]  },         
{ "nome": "Maria", "nota": [ 8, 10, 7 ] },         
{ "nome": "Pedro", "nota": [ 10, 10, 9 ] }      
] }


Espera ai pv.... esse tal JSON é um array? Basicamente isso amigo! 
Mas com ele conseguimos "conversar" com outras linguagens...  Veja uma comparação de XML e Json 
 
OBJETO JSON 
{"menu": {   
"id": "file",   
"value": "File",  
 "popup": {     
"menuitem": [       
{"value": "New", "onclick": "CreateNewDoc()"},      
 {"value": "Open", "onclick": "OpenDoc()"},       
{"value": "Close", "onclick": "CloseDoc()"}     ]   } }}

Mesmo exemplo só que em XML
< menu id="file" value="File" >
  < popup >
    < menuitem value="New" onclick="CreateNewDoc()" / >
    < menuitem value="Open" onclick="OpenDoc()" / >
     
  < / popup >
< / menu >
Percebeu a limpeza?  Valeu!

Nenhum comentário:

Postar um comentário