如何将Javascript数组结果导入Java?

时间:2013-05-31 09:48:14

标签: java javascript scripting rhino

我想使用Java的ScriptEngine,但是我在使用javascript split函数时遇到了一些问题:

    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("javascript");
    Bindings bindings = engine.createBindings();
    bindings.put("example", "123/456/789");

    String s1 = "var obj = example.split(\"/\"); print(obj[0]);";

    Object result = engine.eval(s1, bindings);

    System.out.println(result);

当我评估剧本时;此代码打印“123null”,因为结果为null。当我尝试使用return语句而不是像这样打印时:

    String s1 = "var obj = example.split(\"/\"); return obj[0];";

抛出异常:

线程“main”中的异常javax.script.ScriptException:sun.org.mozilla.javascript.internal.EvaluatorException:第1行的无效返回(#1)

那么我应该如何从这个分割的原生数组中获取第一个索引的值?

1 个答案:

答案 0 :(得分:2)

尝试:

var obj = example.split(\"/\"); obj[0];