如何在运行时动态计算 JSON 数据中的变量 Java 表达式?

问题描述 投票:0回答:1

我需要动态计算 Java 应用程序中作为字符串提供的 Java 表达式。该表达式是一个三元运算符,由于它来自 JSONObject,因此将来可能会发生变化。此外,表达式中使用的变量的值将在运行时提供。如何在 Java 应用程序中实现这种动态评估?

“值1 < 0 ? 3:5"

java json dynamic runtime conditional-operator
1个回答
0
投票

为了解决这个问题,我使用了groovy.lang.GroovyShell;

public Object expressionEvaluator(String expression, Map<String,          

Integer> variables) {

var shell = new GroovyShell();
variables.forEach((name, value) -> shell.setVariable(name, value));

return shell.evaluate(expression);
}
}
© www.soinside.com 2019 - 2024. All rights reserved.