Delphi DLL
Delphi DLL
Load a JsonArray
See more JSON Examples
Demonstrates how to load a JsonArray.Note: This example requires Chilkat v9.5.0.64 or greater.
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, JsonArray, JsonObject;
...
procedure TForm1.Button1Click(Sender: TObject);
var
a: HCkJsonArray;
json: HCkJsonObject;
abc: HCkJsonArray;
begin
// This example requires Chilkat v9.5.0.64 or greater.
// Loading into a new JSON array is simple and straightforward.
a := CkJsonArray_Create();
CkJsonArray_Load(a,'[ 1,2,3,4 ]');
// Output: [1,2,3,4]
Memo1.Lines.Add(CkJsonArray__emit(a));
Memo1.Lines.Add('--------');
// The JsonArray's Load and LoadSb methods have a peculiar behavior when
// it is already part of a JSON document. In this case, the JsonArray
// becomes detached, and the original document remains unchanged.
// This is intentional due to the nature of the internal implementation.
// For example:
json := CkJsonObject_Create();
CkJsonObject_Load(json,'{ "abc": [ 1,2,3,4 ] }');
// Output: (json) {"abc":[1,2,3,4]}
Memo1.Lines.Add('(json) ' + CkJsonObject__emit(json));
Memo1.Lines.Add('--------');
abc := CkJsonObject_ArrayOf(json,'abc');
// When Load is called, abc becomes it's own document, and the original is not modified.
CkJsonArray_Load(abc,'[ 5,6,7,8 ]');
// Output: (abc) [5,6,7,8]
Memo1.Lines.Add('(abc) ' + CkJsonArray__emit(abc));
Memo1.Lines.Add('--------');
// Output: (json) {"abc":[1,2,3,4]}
Memo1.Lines.Add('(json) ' + CkJsonObject__emit(json));
Memo1.Lines.Add('--------');
CkJsonArray_Dispose(abc);
CkJsonArray_Dispose(a);
CkJsonObject_Dispose(json);
end;