![]() |
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
(Objective-C) Call a JavaScript Function Returning an ObjectSee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns an object.Note: This example requires Chilkat v11.4.0 or greater.
#import <CkoStringBuilder.h> #import <CkoJs.h> #import <CkoJsonObject.h> BOOL success = NO; // This is the JavaScript function we'll call: // function getSettings() { // return { // theme: "dark", // notifications: true, // version: 1.0 // }; // } CkoStringBuilder *sbScript = [[CkoStringBuilder alloc] init]; [sbScript Append: @"function getSettings() {"]; [sbScript Append: @" return {"]; [sbScript Append: @" theme: \"dark\","]; [sbScript Append: @" notifications: true,"]; [sbScript Append: @" version: 1.0"]; [sbScript Append: @" };"]; [sbScript Append: @"}"]; CkoJs *js = [[CkoJs alloc] init]; CkoJsonObject *result = [[CkoJsonObject alloc] init]; result.EmitCompact = NO; // Call Eval to add the function to the context's global object success = [js Eval: sbScript result: result]; if (success == NO) { // Examine the result for an exception. NSLog(@"%@",[result Emit]); // Also examine the LastErrorText. NSLog(@"%@",js.LastErrorText); return; } // ------------------------------------------------------------------------------ // Call the function getSettings() CkoJsonObject *funcCall = [[CkoJsonObject alloc] init]; // Create JSON specifying the function name and arguments // The function has no arguments, so we only specify the name. // { // "name": "getSettings", // } [funcCall UpdateString: @"name" value: @"getSettings"]; success = [js CallFunction: funcCall result: result]; if (success == NO) { // Examine the result for an exception. NSLog(@"%@",[result Emit]); // Also examine the LastErrorText. NSLog(@"%@",js.LastErrorText); return; } NSLog(@"%@",[result Emit]); // Output: // { // "type": "object", // "value": { // "theme": "dark", // "notifications": true, // "version": 1 // } // } // Examine the object's members NSLog(@"%@%@",@"theme: ",[result StringOf: @"value.theme"]); NSLog(@"%@%d",@"notifications: ",[result BoolOf: @"value.notifications"]); NSLog(@"%@%d",@"version: ",[[result IntOf: @"value.version"] intValue]); // Output: // theme: dark // notifications: True // version: 1 |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.