Delphi ActiveX
Delphi ActiveX
JSON Copy Objects
See more JSON Examples
Copy objects from one JSON document to another.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
json1: TChilkatJsonObject;
json2: TChilkatJsonObject;
i: Integer;
numMembers: Integer;
jsonObj: IChilkatJsonObject;
begin
json1 := TChilkatJsonObject.Create(Self);
json1.UpdateString('ID1.cn','Name');
json1.UpdateString('ID1.objectGUID','GUID');
json1.UpdateString('ID2.cn','Name');
json1.UpdateString('ID2.objectGUID','GUID');
json1.EmitCompact := 0;
Memo1.Lines.Add(json1.Emit());
// json1 contains:
// {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// }
json2 := TChilkatJsonObject.Create(Self);
json2.UpdateString('Name1.ID1.cn','Name');
json2.UpdateString('Name1.ID1.objectGUID','GUID');
json2.UpdateString('Name1.ID2.cn','Name');
json2.UpdateString('Name1.ID2.objectGUID','GUID');
json2.UpdateString('Name2.ID3.cn','Name');
json2.UpdateString('Name2.ID3.objectGUID','GUID');
json2.EmitCompact := 0;
Memo1.Lines.Add(json2.Emit());
// {
// "Name1": {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// },
// "Name2": {
// "ID3": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// }
// }
// Copy Name1, Name2 into json1
i := 0;
numMembers := json2.Size;
while i < numMembers do
begin
jsonObj := json2.ObjectAt(i);
json1.AppendObjectCopy(json2.NameAt(i),jsonObj);
i := i + 1;
end;
// Now see what json1 contains:
Memo1.Lines.Add(json1.Emit());
// {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "Name1": {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// },
// "Name2": {
// "ID3": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// }
// }
end;