Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Chilkat2-Python) 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.
import sys import chilkat2 # Note: This example requires Chilkat v9.5.0.63 or later. json = chilkat2.JsonObject() 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 = True # accountRec is a CkJsonObject accountRec = json.FindRecord(arrayPath,relativePath,value,caseSensitive) if (json.LastMethodSuccess != True): print("Record not found.") sys.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")) print("AccountType: " + accountRec.StringOf("AccountType")) print("AccountSubType: " + accountRec.StringOf("AccountSubType")) print("----") # ------------------------------------------------------------------ # Find the first account where the currency is USD relativePath = "CurrencyRef.value" value = "USD" caseSensitive = True # accountRec is a CkJsonObject accountRec = json.FindRecord(arrayPath,relativePath,value,caseSensitive) if (json.LastMethodSuccess != True): print("Record not found.") sys.exit() print("Name: " + accountRec.StringOf("Name")) print("CurrencyRef.name: " + accountRec.StringOf("CurrencyRef.name")) print("----") # ------------------------------------------------------------------ # Find the first account with "receivable" in the name (case insensitive) relativePath = "Name" value = "*receivable*" caseSensitive = False # accountRec is a CkJsonObject accountRec = json.FindRecord(arrayPath,relativePath,value,caseSensitive) if (json.LastMethodSuccess != True): print("Record not found.") sys.exit() print("Name: " + accountRec.StringOf("Name")) print("----") # ----------------------------------------------------------------- # 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-2024 Chilkat Software, Inc. All Rights Reserved.