Tja, RemovePair funktioniert, AddPair nicht. Das Endergebnis ist dann um den betreffenden Wert ärmer. Eine Fehlermeldung gibts nicht, es passiert "einfach nur nix".
Im reinen Consolen-Testprojekt geht es doch?
Meinste in deinem Produktiv-Quelltext?
Delphi-Quellcode:
program Project5;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
System.Json;
procedure p;
const
input = '
{"value":"foo"}';
var
jsonObject: TJSONObject;
begin
jsonObject := TJSONObject.ParseJSONValue(input)
as TJSONObject;
try
WriteLn('
Vorher: ', jsonObject.ToJSON);
jsonObject.RemovePair('
value').Free;
jsonObject.AddPair('
value', '
bar');
WriteLn('
Nachher: ', jsonObject.ToJSON);
finally
jsonObject.Free;
end;
end;
begin
try
p;
except
on E:
Exception do
WriteLn(E.ClassName, '
: ', E.
Message);
end;
Readln;
end.