dicas show delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais
sombra
Artigos Show Delphi

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais
sombra
iniciantes show delphi

INICIANTES

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

Saiba mais
sombra
downloads show delphi

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
sombra
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

  • Giovani Da Cruz
  • 2 comentários
  • 17 de maio de 2023

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