Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
JSON UpdateNumber vs UpdateInt
Demonstrates UpdateNumber vs UpdateString.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.JsonObject;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
json: TJsonObject;
begin
json := TJsonObject.Create;
// If a number is too large for a 32-bit signed integer, then call UpdateNumber instead of UpdateInt.
// The large integer is passed to UpdateNumber as a string, but in the JSON it will be an integer.
// For example:
json.UpdateNumber('largeNumber','6884556842');
// If the integer is small enough for a 32-bit signed integer, then use UpdateInt:
json.UpdateInt('reasonableInt',123456);
json.EmitCompact := False;
WriteLn(json.Emit());
// The output:
// Notice the large number passed as a string does not have quotes in the JSON
// {
// "largeNumber": 6884556842,
// "reasonableInt": 123456
// }
json.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.