我需要一个在Web应用程序中构建规则的接口。需要维护状态,我想知道什么是最适合存储嵌套逻辑表达式的方法(示例(a&gt; b&amp;&amp; a&gt; c)||(a == 0))< / p>
JSON是否足以表示此类表达式,或者是否有其他方法可以实现相同的表达式。
构建表达式时,用户没有任何限制。
答案 0 :(得分:1)
有两种方法可以用JSON表示表达式:
作为一个普通的字符串。这通常很有效,易于调试和理解:{"expr":"(a>b && a>c) || (a==0)"}
作为解析树。一般来说,解析树最多也很难理解,而且通常无法调试(通常在“通常意味着太多的努力”)。
如果你采用解析树方法,那么你需要定义JSON片段来表示树的每一部分,然后递归地构建它。
如果你不知道我在说什么:我强烈建议解决#1。