将Javascript数组转换为Java数组 [英] Converting a Javascript array to a Java array

查看:202
本文介绍了将Javascript数组转换为Java数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to convert a Javascript array in Java to a Java array. I'm using the javax.script package. I tested this example here, but the type "NativeArray" was not recognized: https://stackoverflow.com/a/1433489/975097

如何识别NativeArray类型?

How can I get the NativeArray type to be recognized?

推荐答案

根据这个答案,您最好的选择是编写一个转换的JavaScript转换器函数使用Rhino的Java绑定功能将本机JavaScript数组转换为 Java数组。请注意,在转换单个元素时,您必须小心使用正确的类型。

Per this answer it looks like your best bet is to write a JavaScript converter function which transforms the native JavaScript array into a Java array using Rhino's Java binding functionality. Note that you'll have to take some care to use the correct type when converting the individual elements.

这是一个有效的示例使用字符串数组:

Here's a working example using a string array:

ScriptEngine js = new ScriptEngineManager().getEngineByName("JavaScript");
String ss[] = (String[]) js.eval(
    "(function() {" +
    "  var a = java.lang.reflect.Array.newInstance(java.lang.String, 3);" +
    "  a[0] = 'foo';" +
    "  a[1] = 'bar';" +
    "  a[2] = 'gah';" +
    "  return a;" +
    "})()");
System.out.println(Arrays.toString(ss)); // => [foo, bar, gah]

这篇关于将Javascript数组转换为Java数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆