



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:
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; |
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
Você precisa fazer o login para publicar um comentário.
Legal.
Agora, tem como pegar todo o conteúdo de um Json e colocar em um dataset ?
Olá Denis, tem sim, veja este post:
https://showdelphi.com.br/como-converter-json-para-dataset/