Delphi DLL
Delphi DLL
JSON Copy Objects
See more JSON Examples
Copy objects from one JSON document to another.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject;
...
procedure TForm1.Button1Click(Sender: TObject);
var
json1: HCkJsonObject;
json2: HCkJsonObject;
i: Integer;
numMembers: Integer;
jsonObj: HCkJsonObject;
begin
json1 := CkJsonObject_Create();
CkJsonObject_UpdateString(json1,'ID1.cn','Name');
CkJsonObject_UpdateString(json1,'ID1.objectGUID','GUID');
CkJsonObject_UpdateString(json1,'ID2.cn','Name');
CkJsonObject_UpdateString(json1,'ID2.objectGUID','GUID');
CkJsonObject_putEmitCompact(json1,False);
Memo1.Lines.Add(CkJsonObject__emit(json1));
// json1 contains:
// {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// }
json2 := CkJsonObject_Create();
CkJsonObject_UpdateString(json2,'Name1.ID1.cn','Name');
CkJsonObject_UpdateString(json2,'Name1.ID1.objectGUID','GUID');
CkJsonObject_UpdateString(json2,'Name1.ID2.cn','Name');
CkJsonObject_UpdateString(json2,'Name1.ID2.objectGUID','GUID');
CkJsonObject_UpdateString(json2,'Name2.ID3.cn','Name');
CkJsonObject_UpdateString(json2,'Name2.ID3.objectGUID','GUID');
CkJsonObject_putEmitCompact(json2,False);
Memo1.Lines.Add(CkJsonObject__emit(json2));
// {
// "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 := CkJsonObject_getSize(json2);
while i < numMembers do
begin
jsonObj := CkJsonObject_ObjectAt(json2,i);
CkJsonObject_AppendObjectCopy(json1,CkJsonObject__nameAt(json2,i),jsonObj);
i := i + 1;
end;
// Now see what json1 contains:
Memo1.Lines.Add(CkJsonObject__emit(json1));
// {
// "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"
// }
// }
// }
CkJsonObject_Dispose(json1);
CkJsonObject_Dispose(json2);
end;