![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript 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
(Chilkat2-Python) Call a JavaScript Function Returning an ArraySee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns an array.Note: This example requires Chilkat v11.4.0 or greater.
import sys import chilkat2 success = False # ---------------------------------------------------------------------------------- # The Javascript functions called in this example are shown at the bottom of this page. # ----------------------------------------------------------------------------------- sbScript = chilkat2.StringBuilder() success = sbScript.LoadFile("js_function_returning_array.js","utf-8") if (success == False): print(sbScript.LastErrorText) sys.exit() js = chilkat2.Js() result = chilkat2.JsonObject() result.EmitCompact = False # Call Eval to add the function to the context's global object success = js.Eval(sbScript,result) if (success == False): # Examine the result for an exception. print(result.Emit()) # Also examine the LastErrorText. print(js.LastErrorText) sys.exit() # ------------------------------------------------------------------------------ # Call each function funcCall = chilkat2.JsonObject() # Create JSON specifying the function name and arguments # The function has no arguments, so we only specify the name. funcCall.UpdateString("name","getDays") success = js.CallFunction(funcCall,result) if (success == False): # Examine the result for an exception. print(result.Emit()) # Also examine the LastErrorText. print(js.LastErrorText) sys.exit() print(result.Emit()) # Output: # { # "type": "array", # "value": [ # "Monday", # "Tuesday", # "Wednesday", # "Thursday", # "Friday" # ] # } # Access each array value.. count = result.SizeOfArray("value") i = 0 while i < count : result.I = i print(result.StringOf("value[i]")) i = i + 1 # ------------------------------------------------------------------------------ # Call the getRange(start,end) function funcCall.Clear() funcCall.UpdateString("name","getRange") funcCall.UpdateInt("args[0]",14) funcCall.UpdateInt("args[1]",21) success = js.CallFunction(funcCall,result) print(result.Emit()) # Output: # { # "type": "array", # "value": [ # 14, # 15, # 16, # 17, # 18, # 19, # 20, # 21 # ] # } count = result.SizeOfArray("value") i = 0 while i < count : result.I = i print(str(result.IntOf("value[i]"))) i = i + 1 # ------------------------------------------------------------------------------ # Call the getEmployees() function funcCall.Clear() funcCall.UpdateString("name","getEmployees") success = js.CallFunction(funcCall,result) print(result.Emit()) # Output: # { # "type": "array", # "value": [ # { # "id": 101, # "name": "Alice", # "role": "Dev" # }, # { # "id": 102, # "name": "Bob", # "role": "Manager" # } # ] # } count = result.SizeOfArray("value") i = 0 while i < count : result.I = i print("name: " + result.StringOf("value[i].name")) print("role: " + result.StringOf("value[i].role")) print("id: " + str(result.IntOf("value[i].id"))) print("") i = i + 1
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.