|  | 
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
| (Perl) 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. 
 use chilkat(); # Note: This example requires Chilkat v9.5.0.63 or later. $json = chilkat::CkJsonObject->new(); $success = $json->LoadFile("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 = 1; # accountRec is a JsonObject $accountRec = $json->FindRecord($arrayPath,$relativePath,$value,$caseSensitive); if ($json->get_LastMethodSuccess() != 1) { print "Record not found." . "\r\n"; exit; } # 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" # } # } print "FullyQualifiedName: " . $accountRec->stringOf("FullyQualifiedName") . "\r\n"; print "AccountType: " . $accountRec->stringOf("AccountType") . "\r\n"; print "AccountSubType: " . $accountRec->stringOf("AccountSubType") . "\r\n"; print "----" . "\r\n"; # ------------------------------------------------------------------ # Find the first account where the currency is USD $relativePath = "CurrencyRef.value"; $value = "USD"; $caseSensitive = 1; # accountRec is a JsonObject $accountRec = $json->FindRecord($arrayPath,$relativePath,$value,$caseSensitive); if ($json->get_LastMethodSuccess() != 1) { print "Record not found." . "\r\n"; exit; } print "Name: " . $accountRec->stringOf("Name") . "\r\n"; print "CurrencyRef.name: " . $accountRec->stringOf("CurrencyRef.name") . "\r\n"; print "----" . "\r\n"; # ------------------------------------------------------------------ # Find the first account with "receivable" in the name (case insensitive) $relativePath = "Name"; $value = "*receivable*"; $caseSensitive = 0; # accountRec is a JsonObject $accountRec = $json->FindRecord($arrayPath,$relativePath,$value,$caseSensitive); if ($json->get_LastMethodSuccess() != 1) { print "Record not found." . "\r\n"; exit; } print "Name: " . $accountRec->stringOf("Name") . "\r\n"; print "----" . "\r\n"; # ----------------------------------------------------------------- # 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" # } # }, # ... # | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.