javax.script - rhino - 如何查看或编辑本机函数?

时间:2013-12-06 09:44:52

标签: java rhino javax.script

我想实现一个类似于JSON.stringify的函数。

我打电话的时候:

    ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
    Object eval = engine.eval("JSON.stringify");
    System.out.println(eval);

我得到 sun.org.mozilla.javascript.internal.IdFunctionObject 。 但是我怎么能真正看到它是如何实现的呢? 我可以编辑或添加这样的“原生”功能吗?

不要提供实施 sun.org.mozilla.javascript.internal.Function - 我知道这种能力,但希望获得有关本机功能如何工作的一些知识。

1 个答案:

答案 0 :(得分:0)

您无法评估 JSON.stringify ,因为它未在Rhino中实现。 (它主要是基于浏览器的东西,虽然我猜Nashorn和节点都有它。)

您可以评估实现JSON.stringify的json2.js的内容,然后您的代码应该可以正常工作。

但如果您只是想要字符串化,那么我会使用 org.mozilla.javascript.NativeJSON.stringify