Sample code for 30+ languages & platforms
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

Pascal (Lazarus/Delphi)
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.