首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用objective C处理嵌入到json中的javascript代码

使用objective C处理嵌入到json中的javascript代码
EN

Stack Overflow用户
提问于 2013-01-05 20:42:45
回答 1查看 120关注 0票数 1

我正在构建的iPad应用程序有一些由数据驱动的行为。所谓数据,我指的是一些嵌入到从服务器端发送的json文件中的javascript代码。

下面是一个例子:

代码语言:javascript
复制
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中。

EN

回答 1

Stack Overflow用户

发布于 2013-01-05 23:37:56

确实可以让UIWebView执行任意JavaScript并捕获作为结果返回任何值。不过,我不确定我是否完全理解您正在执行的代码的性质,所以我只演示了下面的基本方法。如果您能提供有关您希望执行的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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14171895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档