动态评估 Java 中的布尔表达式

发布于 2025-01-12 10:34:48 字数 415 浏览 0 评论 0原文

我之前使用过 JEP,然后意识到它不适合我的情况。

在调用数据库/后端时,我得到一个 json 响应,其结构如下:

"key": {
"!A & B"
}

A 和 B 会有 true 或 false 等值。

我使用了 bpodgursky.jbool_expressions,但不明白如何替换值:

 Expression<String> parsedExpression = RuleSet.simplify(ExprParser.parse("!A&B"));
    RuleSet.assign("A", Boolean.TRUE); //THIS IS WRONG

任何人都可以帮助我使用正确的库和一些示例来执行此操作吗?

I made use of JEP earlier and then realised that it wont fit my case.

On a call to the database/backend, I get a json response, which has a structure as below:

"key": {
"!A & B"
}

And there will be values for A and B like true or false.

I used bpodgursky.jbool_expressions, but do not understand how to substitute values:

 Expression<String> parsedExpression = RuleSet.simplify(ExprParser.parse("!A&B"));
    RuleSet.assign("A", Boolean.TRUE); //THIS IS WRONG

Could anybody help me with the correct library to work on and some sample example to do so?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆离笙 2025-01-19 10:34:48

您需要像这样创建它。

Expression<String> expression = RuleSet.simplify(ExprParser.parse("!A&B"));
Map<String, Object> keyValue = Map.of("A", false, "B", true);
Expression<String> resolved = RuleSet.assign(expression, keyValue);
System.out.println(resolved); // returns true

请参阅此文档以更清楚地了解如何使用它:https://github.com/bpodgursky/jbool_expressions

You'll need to create it like this.

Expression<String> expression = RuleSet.simplify(ExprParser.parse("!A&B"));
Map<String, Object> keyValue = Map.of("A", false, "B", true);
Expression<String> resolved = RuleSet.assign(expression, keyValue);
System.out.println(resolved); // returns true

Refer this documentation for more clarity on how to use it: https://github.com/bpodgursky/jbool_expressions

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文