繁体   English   中英

从JavaScript代码中提取字符串

[英]extracting strings from JavaScript code

在我的C ++应用程序中使用嵌入式SpiderMonkey,我想从JavaScript代码中提取所有字符串。 JavaScript代码如下所示:

var foo = "something";  
var space = " ";  
var bar = foo + space + "beautiful";  

C ++代码如下所示:

char *script = "var foo = \"something\"; var space = \" \"; var bar = foo + space + \"beautiful\";";
ok = JS_EvaluateScript(cx, global, script, strlen(script), filename, lineno, &rval);

所以我的问题是,在SpiderMonkey执行JavaScript之后,如何从变量提取字符串(提取的值应该是“漂亮的东西”)并在我的常规C ++代码中使用它? 我想我必须先评估脚本,然后以某种方式从JavaScript变量中提取字符串。 我不知道如何使用SpiderMonkey提取字符串。

我的第二个问题:
http://siliconforks.com/doc/parsing-javascript-with-spidermonkey/
这个SpiderMonkey JavaScript解析器是为SpiderMonkey 1.6编写的。 由于用于解析的API已更改,如何使用最新的SpiderMonkey做到这一点?

提前Thnx,
戈兰

由于bar是全局对象的属性,因此在JS_EvaluateScript()之后,我可以使用JS_GetProperty()函数,如下所示

JS_GetProperty(cx, global, "bar", &rval);
JSString *str = JS_ValueToString(cx, rval);
printf("%s\n", JS_EncodeString(cx, str));

检查诸如subString之类的String操作函数。 它可以用来解决您的查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM