data={
"or":{
"=":{
"name": ["aaa", "bbb"]
},
">": {
"age": [1, 2, 3]
}
}
}
字典结构类似于lisp的那种结构(+ 2 3 (× 4 5))前缀表示法
然后把这种嵌套的结构,解析成还原成一般的结构,字符串,像这样。“name = aaa or name = bbb or age > 1 or age > 2 or age > 3”
也许实际用不到这么复杂的结构。
就算每种操作符的处理方式都不一样的也没关系,只要往
rator_handler
里添加新的处理方式就行了。 编辑:添加了infix的排版方式。可以参考一下json格式解析的代码
这个还算能用。
超过三层嵌套貌似就不行了?