Представление логики как данных в JSON
По деловым причинам нам необходимо вывести некоторую условную логику во внешние файлы: предпочтительно JSON.
Простой сценарий фильтрации можно обработать, добавив узел следующим образом:
"filter": [
{
"criteria": "status",
"value": "open",
"condition": "=="
}
]
Несколько условий могут быть обработаны дополнительными значениями в массиве.
"filter": [
{
"criteria": "status",
"value": "open",
"condition": "=="
},
{
"criteria": "condition2",
"value": "value2",
"condition": "=="
}
]
Тем не менее, это немного сбивает с толку, когда мы обрабатываем сложные условия, включающие AND или OR.
Вопрос: существует ли стандартизированный (или даже широко принятый) формат для представления такой логики в JSON? Как бы вы это сделали, если бы это зависело от вас?
ПРИМЕЧАНИЕ. Первый ответ был сделан в редактируемой вики, поэтому его может улучшить любой, кто считает, что это возможно.