Ant Rhino Stringify

时间:2013-08-30 16:42:22

标签: javascript ant rhino

我正在尝试从我的ant rhino中的对象生成JSON。不支持JSON.stringify(obj),但有一个NativeJSON类具有stringify方法。问题是如何从Ant / Rhino调用它?我可以掌握上下文,但我不知道如何掌握范围。这似乎也应该比它应该更复杂,所以也许有一个更简单的解决方案?

这绝对是相关的,除了它没有处理从Ant中使用它(它没有明显暴露的上下文/范围): Access Rhino's native JSON.Stringify from Java

NativeJSON.stringify(cx, scope, jsObject, null, null);

2 个答案:

答案 0 :(得分:0)

我使用以下代替标准的ant脚本/ javascript标记。这允许调用JSON.stringify。

            

        <sequential>
            <script language="javascript" manager="bsf">
                <classpath>
                </classpath><![CDATA[
                    var shell = org.mozilla.javascript.tools.shell.Main;
                    var args = ["-e","var a='STRING';"];
                    shell.exec(args);

                    var shellGlobal = shell.global;

                    @{text}
            ]]></script>
        </sequential>
    </macrodef>
...
<rhinoscript><![CDATA[
   JSON.stringify(obj);
]]</rhinoscript>

答案 1 :(得分:0)

对于那些遇到此问题的人来说,现在Rhino版本1.7R5 +支持JSON.stringify。

所以JSON.stringify可以在普通的脚本块中运行:

<script>
<![CDATA[
   JSON.stringify(obj);
]]
</script>