2013-08-30 30 views
1

我想从我的蚂蚁犀牛中的对象产生JSON。不支持JSON.stringify(obj),但有一个NativeJSON类具有stringify方法。但问题是如何从Ant/Rhino中调用它?我可以掌握上下文,但我不知道如何掌握范围。这似乎也比它应该更复杂,所以也许有一个更直接的解决方案?Ant犀牛Stringify

这肯定是相关的,但它不涉及使用这种从蚂蚁(它不具有明显的暴露的背景/范围): Access Rhino's native JSON.Stringify from Java

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

回答

0

我代替下列标准蚂蚁脚本/ 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> 
+0

这将导致需要进行一些蚂蚁扩展库。 – Joel

0

对于那些像我这样谁碰到这个问题跑,JSON.stringify现在支持Rhino的版本1.7R5 +。

所以JSON.stringify将在正常的脚本块的工作:

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