DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como atualizar um valor JSON?

Fala galera do Show Delphi, tudo beleza? Aqui quem fala é Giovani e vamos para uma nova super dica de trabalho com arquivos json.

É muito comum ao utilizar os recursos JSON precisar atualizar algum valor em um objeto dentro do próprio JSON.

O método AddPair cria um NOVO par, mesmo que o nome já exista e não encontro como definir o valor, pois todas as funções / propriedades são somente leitura…

Então, eu realmente tenho que excluir o par e criá-lo?

 

Bem existem formas para diferentes versões de Delphi, e uma sugestão é a seguinte:

 

Para versões de Delphi anteriores ao 10.3 Rio

Procedure AddValue(pObj: TJSONObject; pName: String; pJSONValue: TJSONValue);
var vJsonPair: TJsonPair;
begin
  vJsonPair:= pObj.Get(pName);
 
  if Assigned(vJsonPair) then
     begin
        //preserving the place  
        vJsonPair.JsonValue.free;
        vJsonPair.JsonValue:= pJSONValue;
     end
  else
    pObj.AddPair(pName, pJSONValue);
end;

 

Para versões de Delphi 10.3 Rio ou superiores

Procedure AddValue(pObj: TJSONObject; pName: String; pJSONValue: TJSONValue);
var vJsonPair: TJsonPair;
begin
  vJsonPair:= pObj.Get(pName);
 
  if Assigned(vJsonPair) then
     begin
       //putting the pair at the end of the object 
       pObj.RemovePair(pName);
       pObj.AddPair(pName, pJSONValue);
     end
  else
    pObj.AddPair(pName, pJSONValue);
end;

Portanto, com o Delphi System.JSON, você deve verificar se o par existe para substituí-lo. E do Rio, você precisa excluir e criar o par novamente.

Beleza pessoal? Esta foi uma dica rápida e espero que possa ajudar.

Dúvidas ou sugestões? Deixe o seu comentário!

Uma abraço e até o próximo post. Valeu!

Como atualizar um valor JSON?
(How to update a JSON value?)

Fonte: https://stackoverflow.com/questions/61011455/how-to-update-a-json-value

Facebook Comments Box
  • Giovani Da Cruz
  • 530 views
  • 2 comentários
  • 17 de maio de 2023

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

2 respostas para “Como atualizar um valor JSON?”

  1. Denis Rocha disse:

    Legal.
    Agora, tem como pegar todo o conteúdo de um Json e colocar em um dataset ?

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados