我有一个在NetSuite平台上运行的脚本,我99%肯定使用的是Rhino JavaScript引擎。我正在尝试使用相同的脚本在本地工作,但在包装的Java数组上调用JSON.stringify
时出现问题。在这两种环境中,数组的类型为[object JavaArray]
,但是当在NetSuite上正确地对Java数组进行字符串化时,我的本地Rhino上下文说:
org.mozilla.javascript.EvaluatorException:Java类“[Ljava.lang.String;”没有名为“toJSON”的公共实例字段或方法。
起初我以为他们使用NativeJavaArray
方法扩充了toJSON
类并通过自定义WrapFactory
返回,但似乎并非如此,因为没有返回对象的toJSON
方法。
我是否需要调整选项以使Java数组与JSON方法一起使用?如上所述,我应该能够通过将toJSON
添加到NativeJavaArray
的子类来解决这个问题,但我希望尽可能与NetSuite的环境兼容。