当前位置: 首页 > 面试题库 >

将Javascript数组转换为Java数组

寇宏义
2023-03-14
问题内容

我正在尝试将Java中的Javascript数组转换为Java数组。我正在使用javax.script包。我在这里测试了此示例,但是无法识别类型“
NativeArray”

我如何才能识别NativeArray类型?


问题答案:

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

[编辑] 这是一个使用字符串数组的工作示例:

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数组的json数组: 这是我的json数组: 如何将其转换为普通的javascript数组,如下所示: 问题答案: 已经是JS对象(不是JSON)。但是,您可以在这里: 编辑:将 元素插入数组中的正确位置。谢谢@RoToRa 也许一开始不创建此类对象会更容易。它是如何创建的?

  • 问题内容: 我有以下内容: 如何将类型为sun.org.mozilla.javascript.internal.NativeArray的结果对象转换为相应的Java数组?Somone可以向我显示一个 工作代码示例 吗?它应该适用于String和Integer数组。另外,很高兴知道在哪里寻找在rhino引擎和java之间的其他数据类型转换。 顺便说一句,我知道此页面,但我真的在寻找一个有效的代码示例

  • 问题内容: 我有一个包含几个整数的数组。我已经向数组添加了一些值,但是现在我需要通过jQuery的方法将此数组发送到页面。如何将其转换为JSON对象进行发送? 问题答案: 并致电: 注意: _JSON对象现在是大多数现代Web浏览器(IE 8及更高版本)的一部分。

  • 问题内容: 我如何以这种格式转换PHP数组 到以下格式的Javascript数组? 问题答案: 安全声明: 您不再需要以下内容 如果您没有PHP 5.2,则可以使用以下代码:

  • 问题内容: 转换的最佳方法是什么: 至: 问题答案: ECMAScript 6引入了易于填充的内容: 该方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 数组的自身属性不会被复制,因为它无法枚举。 另外,您可以使用ES6 传播语法来达到相同的结果:

  • 问题内容: 我正在尝试将数组转换为对象,并且我快到了。 这是我的输入数组: 这是我当前的输出对象: 这是我想要的输出对象: 这是我当前的代码: 问题答案: 你不能那样做。 不是有效的JavaScript对象。 javascript中的对象是键值对。看看你的情况如何,然后是冒号,然后是数字?的是,号码是的。 如果执行此操作,则将无法访问属性。 这是Firefox控制台的结果: