![]() |
| JSON |
Índice
Introdução
Nesse post iremos fazer uma introdução ao JSON em Delphi. Falaremos sobre o que é o JSON, qual a estrutura básica do JSON e um exemplo simples e prático para que você possa começar a trabalhar com JSON em Delphi de forma eficiente, elevando o nível dos seus projetos.
O que é JSON e Por que é Importante
JSON, ou JavaScript Object Notation, é um formato leve de troca de dados que é fácil para os seres humanos lerem e escreverem, e fácil para as máquinas interpretarem e gerarem. JSON é baseado em um subconjunto da linguagem de programação JavaScript, mas é independente de linguagem e plataforma, o que o torna uma escolha popular para a comunicação entre sistemas diferentes.
Estrutura básica do JSON
Um arquivo JSON é essencialmente uma coleção de pares chave-valor organizados de uma forma que se parece muito com a estrutura de um objeto em JavaScript. Se você nunca programou em JavaScript, não se preocupe! Pense nisso como uma lista de itens, onde cada item tem um nome (a chave) e um valor associado a ele.
Simplificando, um documento JSON é composto de pares chave-valor e listas ordenadas de valores. Aqui está um exemplo simples de JSON:
{
"nome": "João",
"idade": 30,
"habilidades": ["Delphi", "JavaScript", "SQL"]
}
Neste exemplo, temos um objeto JSON que representa uma pessoa com nome, idade e uma lista de habilidades.
Vamos entender cada parte:
- Chaves: As chaves são os nomes dos itens que você está descrevendo. No exemplo, as chaves são
"nome","idade", e"habilidades". Elas sempre aparecem entre aspas duplas. - Valores: Os valores são os dados reais associados a cada chave. No exemplo, os valores são
"João"(um texto),30(um número), e"Delphi", "JavaScrip" e "SQL"(uma lista). Os valores podem ser de vários tipos, como texto (string), número, booleano (trueoufalse) ou até mesmo outros objetos ou listas. - Pares Chave-Valor: Cada par chave-valor é separado por dois pontos (
:). E cada par é separado por vírgulas. Tudo isso é envolvido por chaves ({}), que indicam o início e o fim do objeto JSON. - Lista: As listas são representadas por colchetes([ ]), e elas vem sempre depois dos dois pontos, indicando que está sempre do lado do valor.
Tipos de Dados em JSON
Agora que você conhece a estrutura básica, vamos falar sobre os tipos de dados que você pode usar em JSON.
1- String: Sequências de texto, sempre entre aspas duplas. Exemplo: "nome": "Maria"
2- Número: Valores numéricos, que podem ser inteiros ou decimais. Exemplo: "idade": 30
3- Booleano: Valores verdadeiros (true) ou falsos (false). Exemplo: "casado": true
4- Objeto: Um objeto dentro de outro objeto. Exemplo:
{
"endereco": {
"rua": "Av. Paulista",
"numero": 1000
}
}
5- Aqui, endereco é uma chave que contém outro objeto como valor.
6- Array (Lista): Uma lista de valores, que pode incluir strings, números, objetos, ou até mesmo outras listas. Exemplo:
{
"amigos": ["João", "Ana", "Pedro"]
}
Neste exemplo, a chave "amigos" está associada a uma lista de strings.
Exemplo Mais Complexo
Vamos juntar tudo isso em um exemplo mais completo:
{
"nome": "Carlos",
"idade": 25,
"casado": false,
"endereco": {
"rua": "Rua das Flores",
"numero": 123,
"cidade": "Rio de Janeiro"
},
"hobbies": ["futebol", "leitura", "cinema"]
}
Neste JSON:
"nome"é uma string."idade"é um número."casado"é um booleano."endereco"é um objeto com suas próprias chaves e valores."hobbies"é uma lista de strings.
Por Que JSON é Importante?
JSON é muito utilizado especialmente para executar a comunicação entre sistemas, especialmente na web. Ele é o formato de dados preferido para APIs web, substituindo o uso do XML em muitos casos devido à sua simplicidade e legibilidade. As vantagens do JSON incluem:
- Leveza: JSON tem uma estrutura simples e leve, o que o torna eficiente para transmissão de dados.
- Facilidade de Uso: A sintaxe de JSON é fácil de ler e escrever, tanto para humanos quanto para máquinas.
- Suporte Universal: JSON é suportado por praticamente todas as linguagens de programação modernas.
Vantagens de Usar JSON para Troca de Dados
Simplicidade
JSON é fácil de ler e escrever, com uma estrutura simples que usa apenas alguns delimitadores como chaves {}, colchetes [] e dois pontos :. Isso torna JSON uma escolha intuitiva para desenvolvedores.
Compactação
JSON é mais compacto que XML, o que significa que ele requer menos espaço para armazenar e transmitir os mesmos dados. Isso é particularmente importante em redes de alta latência e baixa largura de banda, como redes móveis.
Suporte em Diversas Linguagens
JSON é amplamente suportado em diversas linguagens de programação. Em Delphi, podemos usar bibliotecas como System.JSON para manipular JSON de forma eficiente.
Flexibilidade
JSON é flexível o suficiente para representar dados complexos, incluindo objetos aninhados e arrays. Isso permite que ele se adapte a uma ampla variedade de cenários de aplicação.
Integração com APIs Web
APIs RESTful modernas frequentemente utilizam JSON para envio e recebimento de dados. Isso facilita a integração entre sistemas diferentes, independentemente da linguagem de programação ou plataforma usada.
Trabalhando com JSON em Delphi
Delphi fornece suporte robusto para trabalhar com JSON através da unidade System.JSON. Vamos explorar como criar, manipular e interpretar JSON em Delphi com exemplos práticos.
Criando JSON em Delphi
Para criar um objeto JSON em Delphi, usamos as classes TJSONObject e TJSONArray. Aqui está um exemplo de como criar o JSON que mostramos anteriormente:
Passo 1: Abra o Delphi e crie um novo projeto VCL Forms Application.
Passo 2: Adiciona a biblioteca System.JSON, na sessão uses do formulário principal.
Passo 3: Insira 3 componentes TButton, que serão responsáveis por acionarem o gatilho de criação, leitura e manipulação do arquivo JSON.
Passo 4: Insira uma componente TMemo, que será responsável por exibir a leitura do arquivo JSON.
Veja o código abaixo:
uses
System.JSON;
procedure CriarJSON;
var
JSONObj: TJSONObject;
JSONArray: TJSONArray;
begin
JSONObj := TJSONObject.Create;
try
JSONObj.AddPair('nome', 'João');
JSONObj.AddPair('idade', TJSONNumber.Create(30));
JSONArray := TJSONArray.Create;
JSONArray.Add('Delphi');
JSONArray.Add('JavaScript');
JSONArray.Add('SQL');
JSONObj.AddPair('habilidades', JSONArray);
JSONStr := JSONObj.ToString;
ShowMessage('Arquivo JSON criado com sucesso.');
finally
JSONObj.Free;
end;
end;
No exemplo acima, JSONObj.AddPair é o método responsável por adicionar a chave e o valor para nome e idade. Já o método JSONArray.Add é responsável por criar a lista de "habilidades" em forma de JSONArray e depois injetada no JSONObj.AddPair como sendo o valor da chave "habilidades". Todo o arquivo JSON criado é armazenado em uma variável privada chamada JSONStr, para que possa ser utilizada posteriormente pelos métodos de leitura e modificação do JSON.
Lendo JSON em Delphi
Para ler e interpretar JSON, usamos as classes fornecidas pelo Delphi para acessar os pares chave-valor e arrays. Aqui está um exemplo de como ler o JSON criado anteriormente:
uses
System.JSON;
procedure LerJSON(const JSONString: string);
var
JSONObj: TJSONObject;
Habilidades: TJSONArray;
I: Integer;
begin
JSONObj := TJSONObject.ParseJSONValue(JSONString) as TJSONObject;
try
Memo1.Clear;
if Assigned(JSONObj) then
begin
Memo1.Lines.Add('Nome: '+ JSONObj.GetValue('nome').Value);
Memo1.Lines.Add('Idade: '+ JSONObj.GetValue('idade').Value);
Habilidades := JSONObj.GetValue('habilidades') as TJSONArray;
Memo1.Lines.Add('Habilidades:');
for I := 0 to Habilidades.Count - 1 do
begin
Memo1.Lines.Add(' - '+ Habilidades.Items[I].Value);
end;
end;
finally
JSONObj.Free;
end;
end;
No exemplo acima é utilizado um TMemo para exibir o conteúdo do arquivo JSON formatado. Para a leitura de cada chave é utilizado o método JSONObj.GetValue, do mesmo jeito que é feito para ler as "habilidades" através do JSONArray. Um laço de repetição for é utilizado para exibir as "habilidades" uma a uma.
Manipulando JSON em Delphi
Manipular JSON em Delphi é direto, graças às classes e métodos fornecidos. Podemos adicionar, remover ou alterar pares chave-valor e itens de array facilmente. Aqui está um exemplo de como modificar um objeto JSON:
uses
System.JSON;
procedure ModificarJSON(var JSONString: string);
var
JSONObj: TJSONObject;
begin
JSONObj := TJSONObject.ParseJSONValue(JSONString) as TJSONObject;
try
if Assigned(JSONObj) then
begin
JSONObj.RemovePair('idade');
JSONObj.AddPair('idade', TJSONNumber.Create(31));
JSONString := JSONObj.ToString;
end;
finally
JSONObj.Free;
end;
end;
No exemplo acima, o método JSONObj.RemovePair remove a chave-valor "idade" e logo em seguida o método JSONObj.AddPair adiciona novamente a chave "idade" mas com o valor de 31, ou seja, modificando o valor da chave "idade" que anteriormente foi criada como 30.
Veja abaixo a ilustração do projeto:
![]() |
| Ilustração do projeto. |
Código fonte do exemplo
Você pode fazer o download do exemplo do projeto através do repositório do github:
https://github.com/Gisele-de-Melo/Introducao_JSON
Conclusão
JSON é uma ferramenta poderosa e flexível para troca de dados, amplamente usada em desenvolvimento web e integração de sistemas. Em Delphi, a unidade System.JSON fornece tudo o que precisamos para criar, ler e manipular JSON de forma eficiente.
Neste artigo, vimos o que é JSON, suas vantagens e como trabalhar com JSON em Delphi com exemplos práticos. Entender e utilizar JSON é uma habilidade essencial para qualquer desenvolvedor moderno, e Delphi torna isso acessível e eficiente.

.png)
Nenhum comentário:
Postar um comentário