将 Javascript 数组转换为 Java 数组

2023-12-14

我正在尝试将 Java 中的 Javascript 数组转换为 Java 数组。我正在使用 javax.script 包。 我在这里测试了这个例子,但是类型“NativeArray”未被识别:https://stackoverflow.com/a/1433489/975097

如何才能识别 NativeArray 类型?


犀牛提供了这个:

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Embedding_tutorial#usingJSObjs

此外,Scriptable 接口还提供 get() 和 set(),因此您可以轻松枚举对象的属性并将其添加到数组中:

Scriptable arr = (Scriptable) result;
Object [] array = new Object[arr.getIds().length];
for (Object o : arr.getIds()) {
   int index = (Integer) o;
   array[index] = arr.get(index, null);
}

同样的事情,但不使用 NativeArray,因为这似乎是 Rhino 特定的事情。您可以轻松地删除断点并查看给定的对象类型,然后向下转换为该对象。它是某种与 NativeArray 非常接近的 JS Array 实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Javascript 数组转换为 Java 数组 的相关文章

随机推荐