Arquivos da categoria : Multi-Tier


JSON – Formato de Troca de Dados 2

JSON – "JavaScript Object Notation" é um formato para troca de dados, criado como um subconjunto de JavaScript, mas sua simplicidade e funcionalidade o ajudaram a tornar-se popular, e como não requer JavaScript, foi adotado por uma grande variedade de linguagens, inclusive o Delphi.

Principais vantagens

  • Baseada em Texto
  • Independente de linguagem
  • Para nós é fácil compreender, tanto para ler quanto para escrever
  • Para as máquinas e sistemas, é fácil de interpretar e gerar

Definição da estrutura

  • Coleção de Nome e Valor
    • Object
    • Record
    • Struct
    • Dictionary
    • Hash Table
    • Keyed List
    • Associative Array
  • Lista Ordenada de Valores
    • Array
    • Vector
    • List
    • Sequence

 

Exemplo

{
"Boletim": {
"nome":"Cesar", {
"Primeiro_Bimestre":8,
"Segundo_Bimestre":6,
"Terceiro_Bimestre":9,
"Quarto_Bimestre":7
},
"nome":"Giba", {
"Primeiro_Bimestre":6,
"Segundo_Bimestre":9,
"Terceiro_Bimestre":6,
"Quarto_Bimestre":8
},
"nome":"Wilson", {
"Primeiro_Bimestre":4,
"Segundo_Bimestre":6,
"Terceiro_Bimestre":5,
"Quarto_Bimestre":2
},
},
};

Muito parecido com uma matriz, tem recursos suficientes para representar os mesmos dados que XML.

O formato JSON é especificado na RFC 4627, seu MIME type é application/json e a extensão padrão de arquivo .json. Este formato é utilizado com frequência para transmitir estrutura de dados através de conexões de rede em um processo conhecido como serialização, onde é utilizado como alternativa ao tão conhecido XML.

Praticamente todas as linguagens populares implementam JSON, e algumas que trabalho no momento: Delphi, PHP, JavaScript, nesta tem implementação utilizando jQuery.

Para Delphi encontrei três implementações, a que me parece ser mais completa é o JSON Toolkit, segundo o site contém:

  • Parser rápido
  • Fácil utilização
  • Validador JSON
  • JSON-RPC
  • Pode gerar JSON em formato humanamente compreensível

Apesar de ser natural uma comparação com XML, é comum utilizar ambos formatos numa mesma aplicação, uma ótima referência é o Google Maps.

 

Atenção

Se você desenvolve ou pretende desenvolver aplicações em três camadas ou aplicações web, JSON é uma tecnologia que você deve conhecer, tenho certeza que os componentes de comunicação implementarão este padrão, inclusive já vi comentários de que é possível que o RemObjects suporte nas próximas versões, creio que o Delphi 2008 também virá com alguma novidade nesta área, aplicações muito mais populares já suportam, uma delas que talvez você esteja usando enquanto lê este artigo é o Firefox.

 

Referências