【问题标题】:How to get Javascript array result into Java?如何将 Javascript 数组结果转换为 Java?
【发布时间】:2013-05-27 02:36:04
【问题描述】:

我想使用 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”,因为结果为空。当我尝试返回语句而不是这样打印时:

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

抛出异常:

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

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

【问题讨论】:

    标签: java javascript scripting rhino


    【解决方案1】:

    试试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 2014-02-14
      • 2013-06-07
      • 1970-01-01
      • 2010-11-28
      • 2010-12-13
      • 1970-01-01
      相关资源
      最近更新 更多