Delphi ActiveX
Delphi ActiveX
Loading and Parsing a JSON Array
See more JSON Examples
A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.
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
strJsonArray: WideString;
strJsonObject: WideString;
jsonArray: TChilkatJsonArray;
i: Integer;
jsonObj: IChilkatJsonObject;
jsonObject: TChilkatJsonObject;
numPets: Integer;
begin
strJsonArray := '[{"name":"jack"},{"name":"john"},{"name":"joe"}]';
strJsonObject := '{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}';
// A JSON array must be loaded using JsonArray:
jsonArray := TChilkatJsonArray.Create(Self);
jsonArray.Load(strJsonArray);
// Examine the values:
i := 0;
while i < jsonArray.Size do
begin
jsonObj := jsonArray.ObjectAt(i);
Memo1.Lines.Add(IntToStr(i) + ': ' + jsonObj.StringOf('name'));
i := i + 1;
end;
// Output is:
// 0: jack
// 1: john
// 2: joe
// A JSON object must be loaded using JsonObject
jsonObject := TChilkatJsonObject.Create(Self);
jsonObject.Load(strJsonObject);
// Examine the values:
i := 0;
numPets := jsonObject.SizeOfArray('pets');
while i < numPets do
begin
jsonObject.I := i;
Memo1.Lines.Add(IntToStr(i) + ': ' + jsonObject.StringOf('pets[i].name'));
i := i + 1;
end;
// Output is:
// 0: jack
// 1: john
// 2: joe
end;