0
我可以在這樣我的Java 6.x的應用程序中嵌入Rhino1_7R4,使用標準的Java腳本API嵌入犀牛:JSON對象,如果通過Java腳本API
ScriptEngine jsEngine = (new ScriptEngineManager()).getEngineByName("JavaScript");
jsEngine.put("object1", object1);
jsEngine.eval(jsScript);
這是很好的和優雅。但是我不能從我的js代碼中調用JSON.stringify
,因爲它抱怨丟失的JSON
對象。
除塵了一些舊文檔後還存在另一種方式於此,在使用org.mozilla.javascript.*
類:
Context jsContext = Context.enter();
Scriptable jsScope= jsContext.initStandardObjects();
jsContext.evaluateString(jsScope, jsScript, "myscript.js", 1, null);
...,突然JSON
對象是存在的!還有一些其他的東西丟失,雖然,像importPackage()函數,所以不是這樣的:
importPackage(fj.data);
我必須使用一個別名:
fj = Packages.fj.data;
在我看來,這兩種方式各有缺點。什麼是嵌入Rhino並訪問其中所有功能的「官方」方式?
犀牛1.7 [器具(https://developer.mozilla.org/en-US/docs/New_in_Rhino_1.7R4)的JavaScript [1.7如由Mozilla定義](https://developer.mozilla.org/en-美國/文檔/網絡/的JavaScript /參考)。直到JavaScript 1.8才加入JSON。 – McDowell