Delphi ActiveX
Delphi ActiveX
Swap JSON Objects
See more JSON Examples
Demonstrates how to swap two JSON objects within a JSON document.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
success: Integer;
json: TChilkatJsonObject;
index1: Integer;
index2: Integer;
jsonSara: TChilkatJsonObject;
begin
success := 0;
json := TChilkatJsonObject.Create(Self);
json.EmitCompact := 0;
// Load the following JSON:
// {
// "petter": {
// "DOB": "26/02/1986",
// "gender": "male",
// "country": "US"
// },
// "Sara": {
// "DOB": "13/05/1982",
// "gender": "female",
// "country": "FR"
// },
// "Jon": {
// "DOB": "19/03/1984",
// "gender": "male",
// "country": "UK"
// }
// }
success := json.LoadFile('qa_data/json/people.json');
if (success = 0) then
begin
Memo1.Lines.Add(json.LastErrorText);
Exit;
end;
// Swap the positions of Jon and Sara.
index1 := json.IndexOf('Jon');
index2 := json.IndexOf('Sara');
json.Swap(index1,index2);
// We have this now:
Memo1.Lines.Add(json.Emit());
// {
// "petter": {
// "DOB": "26/02/1986",
// "gender": "male",
// "country": "US"
// },
// "Jon": {
// "DOB": "19/03/1984",
// "gender": "male",
// "country": "UK"
// },
// "Sara": {
// "DOB": "13/05/1982",
// "gender": "female",
// "country": "FR"
// }
// }
// To swap an inner member:
jsonSara := TChilkatJsonObject.Create(Self);
json.ObjectOf2('Sara',jsonSara.ControlInterface);
index1 := jsonSara.IndexOf('DOB');
index2 := jsonSara.IndexOf('country');
jsonSara.Swap(index1,index2);
// We now have this:
Memo1.Lines.Add(json.Emit());
// {
// "petter": {
// "DOB": "26/02/1986",
// "gender": "male",
// "country": "US"
// },
// "Jon": {
// "DOB": "19/03/1984",
// "gender": "male",
// "country": "UK"
// },
// "Sara": {
// "country": "FR",
// "gender": "female",
// "DOB": "13/05/1982"
// }
// }
end;