我有以下程序,它在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中提供的数组执行操作,则会给出上述错误。