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