0

我想实现一个类似于 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 - 我知道这种能力,但想获得一些关于本机函数如何工作的知识。

4

1 回答 1

0

你不能评估JSON.stringify因为它没有在 Rhino 中实现。(它主要是基于浏览器的东西,虽然我猜 Nashorn 和 node 确实有它)。

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

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

于 2013-12-06T22:32:27.410 回答