Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Emit JSON Array to StringBuilder
See more JSON Examples
Demonstrates how to write a JSON array to a Chilkat StringBuilder object.Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.JsonArray,
Chilkat.StringBuilder;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
a: TJsonArray;
s: string;
sb: TStringBuilder;
begin
success := False;
a := TJsonArray.Create;
success := a.Load('[ 1,2,3,4 ]');
// We could get the JSON array as a string...
s := a.Emit();
WriteLn(s);
// But what if the JSON array contains a huge amount of data,
// and we don't want to marshal it all from Chilkat's internal
// native code to a string in our programming language?
// You can instead emit to a Chilkat StringBuilder
sb := TStringBuilder.Create;
a.EmitSb(sb);
// Perhaps the StringBuilder object can be passed to other methods..
// Chilkat typically provides methods where a potentially large string
// can be passed in via a StringBuilder object..
// Or perhaps you wish to save to a file..
success := sb.WriteFile('c:/temp/qa_output/a.json','utf-8',False);
a.Free;
sb.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.