Delphi DLL
Delphi DLL
Insert JSON Object into another JSON Object
See more JSON Examples
Demonstrates how to insert one JSON object into another. Effectively, the JSON object must be copied into the other..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
jsonA: HCkJsonObject;
jsonB: HCkJsonObject;
begin
// Imagine we have two separate JSON objects.
jsonA := CkJsonObject_Create();
CkJsonObject_UpdateString(jsonA,'animal','zebra');
CkJsonObject_UpdateString(jsonA,'colors[0]','white');
CkJsonObject_UpdateString(jsonA,'colors[1]','black');
CkJsonObject_putEmitCompact(jsonA,False);
Memo1.Lines.Add(CkJsonObject__emit(jsonA));
// jsonA contains:
// {
// "animal": "zebra",
// "colors": [
// "white",
// "black"
// ]
// }
jsonB := CkJsonObject_Create();
CkJsonObject_UpdateString(jsonB,'type','mammal');
CkJsonObject_UpdateBool(jsonB,'carnivore',False);
CkJsonObject_putEmitCompact(jsonB,False);
Memo1.Lines.Add(CkJsonObject__emit(jsonB));
// jsonB contains:
// {
// "type": "mammal",
// "carnivore": false
// }
// Let's say we want to insert jsonB into jsonA to get this:
// {
// "animal": "zebra",
// "info" " {
// "type": "mammal",
// "carnivore": false
// },
// "colors": [
// "white",
// "black"
// ]
// }
CkJsonObject_AddObjectCopyAt(jsonA,1,'info',jsonB);
Memo1.Lines.Add(CkJsonObject__emit(jsonA));
// The result is this:
// {
// "animal": "zebra",
// "info": {
// "type": "mammal",
// "carnivore": false
// },
// "colors": [
// "white",
// "black"
// ]
// }
CkJsonObject_Dispose(jsonA);
CkJsonObject_Dispose(jsonB);
end;