Reprezentowanie logiki jako danych w JSON

Ze względów biznesowych musimy uzewnętrznić niektóre logiki warunkowe na zewnętrzne pliki: najlepiej JSON.

Prosty scenariusz filtrowania można obsługiwać, dodając węzeł w następujący sposób:

"filter": [
  {
    "criteria": "status",
    "value": "open",
    "condition": "=="
  }
]

Wiele warunków może być obsługiwanych przez dodatkowe wartości w tablicy.

"filter": [
  {
    "criteria": "status",
    "value": "open",
    "condition": "=="
  },
  {
    "criteria": "condition2",
    "value": "value2",
    "condition": "=="
  }
]

Jednak staje się trochę mylące, gdy mamy do czynienia ze złożonymi warunkami obejmującymi AND lub OR.

Pytanie: czy istnieje standardowy (lub nawet powszechnie akceptowany) format reprezentowania takiej logiki w JSON? Jak byś to zrobił, gdyby to zależało od ciebie?

UWAGA: Pierwsza odpowiedź została napisana jako edytowalna wiki, dzięki czemu może zostać ulepszona przez każdego, kto może to zrobić.

questionAnswers(8)

yourAnswerToTheQuestion