TRABALHANDO COM TIPOS JSON NO DELPHI 2010 - PARTE 2

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Neste artigo iremos trabalhar com os tipos nativos do Delphi para notação JSON implementados na unit DBXJSON. Iremos iterar um JSONObject, em português, um objeto nativo do Delphi do tipo TJSONObject.

TRABALHANDO COM TIPOS JSON NO DELPHI 2010

Tipo didático-prático


Requisitos:
PARTE 1


Neste artigo iremos trabalhar com os tipos nativos do delhi para notação JSON implementados na unit DBXJSON.
Iremos iterar um JSONObject, em português, um objeto nativo do delphi do tipo JSON.


Vamos à prática


Abra o projeto implementado na PARTE 1 desta sequência de artigos.


Selecione o formulário e no Object Inspector altere a propriedade Caption para TRABALHANDO COM TIPOS JSON NO DELPHI 2010 - PARTE 1 e 2


No formulário coloque um mais um botão.

Selecione o botão e no Object Inspector altere a propriedade Caption para Iterar JSONObject. Altere também a propriedade Name para BtnIterarJSONObject.

Clique duplo sobre o botão e codifique o procedimento para que fique de acordo com o código abaixo:

procedure TForm1.BtnIterarJSONObjectClick(Sender: TObject);
var
  jsonObj: TJSONObject;
  jp: TJSONPair;
  i: integer;
begin
   Form1.Memo1.Lines.Clear;

   jsonObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(
   '{"Nome":"DELMAR","Cidade":"AJURICABA","Bairro":"CENTRO"}'
   ), 0) as TJSONObject;  //dada a seguinte string em notação JSON que será convertida pela função ParseJSONValue em um objeto nativo do delphi do tipo TJSONObject

   jp := TJSONPair.Create;

   Form1.Memo1.Lines.Add('quantidade de pares ' +   IntToStr(jsonObj.Size)); //quantidade de pares do objeto
   Form1.Memo1.Lines.Add('');

   Form1.Memo1.Lines.Add('Pegando junto a chave e valor usando a função ToString do TJSONPair');
   for i := 0 to jsonObj.Size - 1 do //percorrer o objeto para pegar os pares
   begin
      jp := jsonObj.Get(i); //pega o par no índice i
      Form1.Memo1.Lines.Add(jp.ToString); //pega junto a chave e valor
   end;

   Form1.Memo1.Lines.Add('');
   Form1.Memo1.Lines.Add('Pegando separado a chave e o valor usando respectivamente jp.JsonString.ToString e jp.JsonValue.ToString');
   for i := 0 to jsonObj.Size - 1 do //percorrer o objeto para pegar os pares
   begin
      jp := jsonObj.Get(i); //pega o par no índice i
      Form1.Memo1.Lines.Add(jp.JsonString.ToString + ' : ' + jp.JsonValue.ToString);  //pega separado a chave e o valor usando ToString
   end;

   Form1.Memo1.Lines.Add('');
   Form1.Memo1.Lines.Add('Pegando separado a chave e o valor usando respectivamente jp.JsonString.Value e jp.JsonValue.Value');
   for i := 0 to jsonObj.Size - 1 do //percorrer o objeto para pegar os pares
   begin
      jp := jsonObj.Get(i); //pega o par no índice i
      Form1.Memo1.Lines.Add(jp.JsonString.Value + ' : ' + jp.JsonValue.Value);          //pega separado a chave e o valor usando Value
   end;
end;

Abaixo segue uma sugestão de como dispor os objetos no formulário e o resultado do botão Iterar JSONObject.



Salve o projeto.

Pressione F9 para compilar e executar o projeto.

Clique no botão Iterar JSONObject e observe os resultados.

Abraço e até a próxima.
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?