我想实现一个类似于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 - 我知道这种能力,但希望获得有关本机功能如何工作的一些知识。
答案 0 :(得分:0)
您无法评估 JSON.stringify ,因为它未在Rhino中实现。 (它主要是基于浏览器的东西,虽然我猜Nashorn和节点都有它。)
您可以评估实现JSON.stringify的json2.js的内容,然后您的代码应该可以正常工作。
但如果您只是想要字符串化,那么我会使用 org.mozilla.javascript.NativeJSON.stringify 。