|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Delphi DLL) JSON FindRecord ExampleDemonstrates the FindRecord method for searching an array of JSON records. The data used in this example is available at JSON sample data for FindRecord. Note: This example requires Chilkat v9.5.0.63 or later. 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var json: HCkJsonObject; success: Boolean; arrayPath: PWideChar; relativePath: PWideChar; value: PWideChar; caseSensitive: Boolean; accountRec: HCkJsonObject; begin // Note: This example requires Chilkat v9.5.0.63 or later. json := CkJsonObject_Create(); success := CkJsonObject_LoadFile(json,'qa_data/json/qb_accounts.json'); // A sample of the content of qb_accounts.json is shown at the bottom of this example. // The goal is to search the array of Account records to return the 1st match // Find the account with the name "Advertising" arrayPath := 'QueryResponse.Account'; relativePath := 'Name'; value := 'Advertising'; caseSensitive := True; accountRec := CkJsonObject_FindRecord(json,arrayPath,relativePath,value,caseSensitive); if (CkJsonObject_getLastMethodSuccess(json) <> True) then begin Memo1.Lines.Add('Record not found.'); Exit; end; // The accountRec should contain this: // { // "Name": "Advertising", // "SubAccount": false, // "FullyQualifiedName": "Advertising", // "Active": true, // "Classification": "Expense", // "AccountType": "Expense", // "AccountSubType": "AdvertisingPromotional", // "CurrentBalance": 0, // "CurrentBalanceWithSubAccounts": 0, // "CurrencyRef": { // "value": "USD", // "name": "United States Dollar" // }, // "domain": "QBO", // "sparse": false, // "Id": "7", // "SyncToken": "0", // "MetaData": { // "CreateTime": "2016-09-09T14:42:07-07:00", // "LastUpdatedTime": "2016-09-09T14:42:07-07:00" // } // } Memo1.Lines.Add('FullyQualifiedName: ' + CkJsonObject__stringOf(accountRec,'FullyQualifiedName')); Memo1.Lines.Add('AccountType: ' + CkJsonObject__stringOf(accountRec,'AccountType')); Memo1.Lines.Add('AccountSubType: ' + CkJsonObject__stringOf(accountRec,'AccountSubType')); Memo1.Lines.Add('----'); CkJsonObject_Dispose(accountRec); // ------------------------------------------------------------------ // Find the first account where the currency is USD relativePath := 'CurrencyRef.value'; value := 'USD'; caseSensitive := True; accountRec := CkJsonObject_FindRecord(json,arrayPath,relativePath,value,caseSensitive); if (CkJsonObject_getLastMethodSuccess(json) <> True) then begin Memo1.Lines.Add('Record not found.'); Exit; end; Memo1.Lines.Add('Name: ' + CkJsonObject__stringOf(accountRec,'Name')); Memo1.Lines.Add('CurrencyRef.name: ' + CkJsonObject__stringOf(accountRec,'CurrencyRef.name')); Memo1.Lines.Add('----'); CkJsonObject_Dispose(accountRec); // ------------------------------------------------------------------ // Find the first account with "receivable" in the name (case insensitive) relativePath := 'Name'; value := '*receivable*'; caseSensitive := False; accountRec := CkJsonObject_FindRecord(json,arrayPath,relativePath,value,caseSensitive); if (CkJsonObject_getLastMethodSuccess(json) <> True) then begin Memo1.Lines.Add('Record not found.'); Exit; end; Memo1.Lines.Add('Name: ' + CkJsonObject__stringOf(accountRec,'Name')); Memo1.Lines.Add('----'); CkJsonObject_Dispose(accountRec); // ----------------------------------------------------------------- // qb_accounts.json contains this data // // { // "QueryResponse": { // "Account": [ // { // "Name": "Accounts Payable (A/P)", // "SubAccount": false, // "Description": "Description added during update.", // "FullyQualifiedName": "Accounts Payable (A/P)", // "Active": true, // "Classification": "Liability", // "AccountType": "Accounts Payable", // "AccountSubType": "AccountsPayable", // "CurrentBalance": -1602.67, // "CurrentBalanceWithSubAccounts": -1602.67, // "CurrencyRef": { // "value": "USD", // "name": "United States Dollar" // }, // "domain": "QBO", // "sparse": false, // "Id": "33", // "SyncToken": "1", // "MetaData": { // "CreateTime": "2016-09-10T10:12:02-07:00", // "LastUpdatedTime": "2016-10-24T16:41:39-07:00" // } // }, // { // "Name": "Accounts Receivable (A/R)", // "SubAccount": false, // "FullyQualifiedName": "Accounts Receivable (A/R)", // "Active": true, // "Classification": "Asset", // "AccountType": "Accounts Receivable", // "AccountSubType": "AccountsReceivable", // "CurrentBalance": 5281.52, // "CurrentBalanceWithSubAccounts": 5281.52, // "CurrencyRef": { // "value": "USD", // "name": "United States Dollar" // }, // "domain": "QBO", // "sparse": false, // "Id": "84", // "SyncToken": "0", // "MetaData": { // "CreateTime": "2016-09-14T14:49:29-07:00", // "LastUpdatedTime": "2016-09-17T13:16:17-07:00" // } // }, // { // "Name": "Advertising", // "SubAccount": false, // "FullyQualifiedName": "Advertising", // "Active": true, // "Classification": "Expense", // "AccountType": "Expense", // "AccountSubType": "AdvertisingPromotional", // "CurrentBalance": 0, // "CurrentBalanceWithSubAccounts": 0, // "CurrencyRef": { // "value": "USD", // "name": "United States Dollar" // }, // "domain": "QBO", // "sparse": false, // "Id": "7", // "SyncToken": "0", // "MetaData": { // "CreateTime": "2016-09-09T14:42:07-07:00", // "LastUpdatedTime": "2016-09-09T14:42:07-07:00" // } // }, // { // "Name": "Arizona Dept. of Revenue Payable", // "SubAccount": false, // "FullyQualifiedName": "Arizona Dept. of Revenue Payable", // "Active": true, // "Classification": "Liability", // "AccountType": "Other Current Liability", // "AccountSubType": "GlobalTaxPayable", // "CurrentBalance": 0, // "CurrentBalanceWithSubAccounts": 0, // "CurrencyRef": { // "value": "USD", // "name": "United States Dollar" // }, // "domain": "QBO", // "sparse": false, // "Id": "89", // "SyncToken": "0", // "MetaData": { // "CreateTime": "2016-09-16T12:17:04-07:00", // "LastUpdatedTime": "2016-09-17T13:05:01-07:00" // } // }, // { // "Name": "Automobile", // "SubAccount": false, // "FullyQualifiedName": "Automobile", // "Active": true, // "Classification": "Expense", // "AccountType": "Expense", // "AccountSubType": "Auto", // "CurrentBalance": 0, // "CurrentBalanceWithSubAccounts": 0, // "CurrencyRef": { // "value": "USD", // "name": "United States Dollar" // }, // "domain": "QBO", // "sparse": false, // "Id": "55", // "SyncToken": "0", // "MetaData": { // "CreateTime": "2016-09-14T10:15:53-07:00", // "LastUpdatedTime": "2016-09-14T10:16:05-07:00" // } // }, // ... // CkJsonObject_Dispose(json); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.