Java:ScriptEngine不适用于数组评估

时间:2017-11-10 09:14:09

标签: java

我有以下程序,它在Java(nashorn)中执行Javascript。

Json:  {
        "params": {
            "fruits": ["apple","mango","pineapple"] 
        },
        "expression": "function add(fruits){return fruits.pop()}add(fruits);"   
    }
 Java Code:         
    ScriptEngine engine = manager.getEngineByName("javascript");
    for(Entry<String, Object> paramMap:Params.entrySet())
    engine.put(paramMap.getKey(), paramMap.getValue());
   // engine.put("fruits", ["apple","mango","pineapple"]);
    Object obj = engine.eval(expression);
}

错误:

  

TypeError:fruits.pop不是第1行的函数

如果我尝试对json中提供的数组执行操作,则会给出上述错误。

0 个答案:

没有答案