Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

JSON Parsing with Sample Data for a Merchant/Payment Transaction

See more JSON Examples

Demonstrates how to load the following JSON into a JSON object and access the values for this document:
{
"id":"8a829449561d9dcb01571dbee3b275b1",
"paymentType":"DB",
"paymentBrand":"VISA",
"amount":"156.00",
"currency":"EUR",
"merchantTransactionId":"E8A39B31-6FA3-4014-A195-3074DF5BF7A1",
"result":{
	"code":"000.100.110",
	"description":"Request successfully processed in 'Merchant in Integrator Test Mode'"
},
"resultDetails":{
	"ConnectorTxID3":"12311312",
	"ConnectorTxID1":"717473"
},
"card":{
	"bin":"420000",
	"last4Digits":"0000",
	"holder":"Andreas",
	"expiryMonth":"12",
	"expiryYear":"2018"
},
"risk":{
	"score":"100"
},
"buildNumber":"4b471ea5366e5e9c9a21392a39769f8d7b40b4e8@2016-09-08 13:31:54 +0000",
"timestamp":"2016-09-12 09:33:52+0000",
}

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.JsonObject;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  success: Boolean;
  json: TJsonObject;

begin
  success := False;

  json := TJsonObject.Create;

  //  Load the JSON into the object.
  //  Call json.Load to load from a string rather than a file...
  success := json.LoadFile('qa_data/json/merchantPayment.json');
  //  We are assuming success..

  //  Get the easy stuff:
  WriteLn('id: ' + json.StringOf('id'));
  WriteLn('paymentType: ' + json.StringOf('paymentType'));
  WriteLn('currency: ' + json.StringOf('currency'));
  WriteLn('buildNumber: ' + json.StringOf('buildNumber'));

  //  Get information that's nested within a sub-object:
  WriteLn('result: code: ' + json.StringOf('result.code'));
  WriteLn('result: description: ' + json.StringOf('result.description'));

  WriteLn('card: bin: ' + json.StringOf('card.bin'));
  WriteLn('card: last4Digits: ' + json.StringOf('card.last4Digits'));


  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.