Delphi ActiveX
Delphi ActiveX
JSON AddObjectCopyAt Example
Demonstrates the AddObjectCopyAt function.Note: This example requires Chilkat v9.5.0.82 or above.
Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
json: TChilkatJsonObject;
json2: TChilkatJsonObject;
begin
json := TChilkatJsonObject.Create(Self);
json.Load('{ "name": "John", "marbles": 100 }');
json2 := TChilkatJsonObject.Create(Self);
json2.Load('{"street":"1200 Elm St.","city":"Springfield","zip":60606}');
// Copy the contents of json2 to a new member object named "addr".
// Insert it in the 2nd position.
json.AddObjectCopyAt(1,'addr',json2.ControlInterface);
Memo1.Lines.Add(json.Emit());
// Expected output is: {"name":"John","addr":{"street":"1200 Elm St.","city":"Springfield","zip":60606},"marbles":100}
// Note: Modifying the contents of json does not modify the contents of json2 (because the contents of json2 were copied).
// For example:
json.UpdateString('addr.street','1000 Oak St.');
Memo1.Lines.Add(json.Emit());
// Expected output is: {"name":"John","addr":{"street":"1000 Oak St.","city":"Springfield","zip":60606},"marbles":100}
Memo1.Lines.Add(json2.Emit());
// Expected output is: {"street":"1200 Elm St.","city":"Springfield","zip":60606}
end;