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