使用objective C处理json中嵌入的javascript代码
我正在开发的iPad应用程序有一些行为是由数据驱动的。所谓数据,我指的是从服务器端发送的json文件中嵌入的一些javascript代码 以以下为例:使用objective C处理json中嵌入的javascript代码,javascript,objective-c,Javascript,Objective C,我正在开发的iPad应用程序有一些行为是由数据驱动的。所谓数据,我指的是从服务器端发送的json文件中嵌入的一些javascript代码 以以下为例: if ((q12+q13+q14*2-2)>0){ goto(q45); show(q1,q2); }else{ goto(q34); } 在iOS方面,我知道q12/13/14的值,我想执行javascript中定义的逻辑并接收结果,这样我就可以执行各种接口行为。可能吗?我使用UIWebView标题,我可以从
if ((q12+q13+q14*2-2)>0){
goto(q45);
show(q1,q2);
}else{
goto(q34);
}
在iOS方面,我知道q12/13/14的值,我想执行javascript中定义的逻辑并接收结果,这样我就可以执行各种接口行为。可能吗?我使用UIWebView标题,我可以从javascript获得结果,但我的例子中,javascript位于json中,而不是HTML url。确实可以让UIWebView执行任意javascript并捕获结果返回的任何值。不过,我不确定自己是否完全理解您正在执行的代码的性质,所以我只是在下面演示了基本方法。如果您能提供更多关于希望执行的JavaScript逻辑类型的具体细节,我可能会提供更多帮助
UIWebView *webView = [[UIWebView alloc] init];
NSNumber *q1 = @20;
NSNumber *q2 = @30;
// Create a simple JavaScript addition statement.
NSString *javascript;
javascript = [NSString stringWithFormat:@"%@ + %@", q1, q2];
// Note, the result will always be an NSString
NSString *result = [webView stringByEvaluatingJavaScriptFromString:javascript];
// result is @"50"
我还想更正一些术语。你说的是“嵌入JSON文件中的JavaScript代码”。实际上,JSON符号格式只能包含名称/值对。它不能包含可执行的JavaScript代码。也许您的意思是说您正在从服务器加载JavaScript文件
最后,,当执行从应用程序外部加载的代码时,您应该始终采取适当的技术设计预防措施,以防止恶意JavaScript被他人试图诱使您的应用程序加载。确实可以让UIWebView执行任意JavaScript并捕获结果返回的任何值。不过,我不确定自己是否完全理解您正在执行的代码的性质,所以我只是在下面演示了基本方法。如果您能提供更多关于希望执行的JavaScript逻辑类型的具体细节,我可能会提供更多帮助
UIWebView *webView = [[UIWebView alloc] init];
NSNumber *q1 = @20;
NSNumber *q2 = @30;
// Create a simple JavaScript addition statement.
NSString *javascript;
javascript = [NSString stringWithFormat:@"%@ + %@", q1, q2];
// Note, the result will always be an NSString
NSString *result = [webView stringByEvaluatingJavaScriptFromString:javascript];
// result is @"50"
我还想更正一些术语。你说的是“嵌入JSON文件中的JavaScript代码”。实际上,JSON符号格式只能包含名称/值对。它不能包含可执行的JavaScript代码。也许您的意思是说您正在从服务器加载JavaScript文件
最后,当执行从应用程序外部加载的代码时,您应该始终采取适当的技术设计预防措施,以防止恶意JavaScript被他人试图诱骗您的应用程序加载。小心,您可能会违反AppStore TOS,您的应用程序将被禁止。小心,你可能会违反AppStore TOS,你的应用将被禁止。他们可能会在JSON数据中嵌入转义的js代码。但他们(无论哪种方式)都有可能被拒绝或从appstore中删除他们的应用程序。他们可能在JSON数据中嵌入转义的js代码。但他们(无论哪种方式)都面临着被拒绝/从应用商店中删除应用的风险。